java:alpine 字体 dockerdocker-compose 字体找不到 dockerfile创建镜像 找不到字体
背景:
使用spire.doc处理doc转图片,找不到字体,在win机开发一切正常,使用dockerfile部署到linux服务器,使用docker-compose启动容器时,执行报错:Handler dispatch failed; nested exception is java.lang.ExceptionInInitializerError (下面复制段报错方便各位在搜索时有结果)
Caused by: java.lang.ExceptionInInitializerError: null
at com.spire.doc.packages.sprEec.spr (FontFamily.java:545)
at com.spire.doc.packages.sprEec.<clinit>(FontFamily.java:255)
at com.spire.doc.packages.spriEc.spr (Font.java:410)
at com.spire.doc.packages.spriEc.<init>(Font.java:398)
at com.spire.doc.packages.spriEc.<init>(Font.java:374)
at com.spire.doc.packages.sprDGC.<clinit>(Unknown Source)
at com.spire.doc.formatting.CharacterFormat.spr (Unknown Source)
at com.spire.doc.formatting.CharacterFormat.spr (Unknown Source)
原因:1. docker没有创建字体管理器 2. docker中没有对应doc所需的字体
解决思路:
1. docker中安装对应的 字体管理器 fontconfig 如果需要一些默认字体 可以考虑安装 ttf-dejavu
2. 将自己的win特殊自己 cp到docker容器里的/usr/share/fonts/下 或者 使用目录映射的方式 将docker中 /usr/share/fonts/ 目录下的某个子目录映射到 你linux的字体文件里(随便创建即可),例如我就直接把 docker的 /usr/share/fonts/win(win这个目录不用额外手动创建,只需要执行命令就行) 目录映射到 宿主机的 /root/smallRoutine/fonts
解决:
1. 先改造我们的dockerfile,我百度了一天试了N多个各位大佬的答案、命令(是我太菜了,没办法区分我想要的结果)总结出一条:RUN apk update && apk add fontconfig(有写docker里是使用yum的 把对应的apk add改成 yum的方式安装即可,自己先手动去docker里测试一下你用什么命令)
测试docker是否执行命令:
1. 先进入docker容器:7ed6c5052bd5 是容器id (有些最后不是sh 是 /bin/bash 你们自行百度一下,反正就是进入docker容器)
docker exec -it 7ed6c5052bd5 sh
2. 测试执行apk update(进入命令末尾是sh的)图为执行结果
/bin/sh -c 'apk update'
3. 测试执行apk add fontconfig
/bin/sh -c 'apk add fontconfig'
4. 查看fonts目录是否已创建
ls /usr/share/
dockerfile:先执行apk更新 再执行 apk 安装
ok 我们解决了 第一个问题,docker缺少字体管理器。下面我们解决第二个问题,docker缺少字体
我这里使用了docker-compose,那我这边选择使用目录映射的方式
1. 我随便找了个目录,把我win下的字体拉进去
2. 改造docker-compose: 配置详解:https://www.cnblogs.com/zhujingzhi/p/9786622.html#_label5
这里是指把 /root/smallRoutine/fonts 映射到 /usr/share/fonts/win
ok 大功告成。
感谢一下分享提供的灵感:
https://blog.csdn.net/zimou5581/article/details/101368129
https://blog.zjyl1994.com/post/alpine-fontconfig/
https://stackoverflow.com/questions/61968808/docker-error-unsatisfiable-constraints
https://www.cnblogs.com/zhujingzhi/p/9786622.html#_label5
如果解决了你的问题,大佬们给个一块两块打赏呗(记得备注哟~):
java:alpine 字体 dockerdocker-compose 字体找不到 dockerfile创建镜像 找不到字体相关推荐
- access字体变为斜体_Linux折腾记(四):Linux桌面系统字体配置详解
字体显示效果测试 文字: 复制代码代码如下: 这一段是为了测试宋体字的显示效果,包括宋体里面自带的英文字体,"This is english,how does it look like?&q ...
- HTML怎么把文字分栏_CAD设计制图底层规则之:字体及文字系统。推荐几组史上最好用的单线字体!...
使用Autodesk的cad软件设计制图的时候,大家开个图常常碰到的最初2个对话框是这样的: 烦不烦!?这里其实还好,更烦的还在后头,打开图后文字飘了,有些字不见了,这更烦! 如何解决这个问题?呆会说 ...
- arial字体可以商用吗_国外顶级设计公司:PPT配色与字体使用的7条建议
本文首发于公众号 [自律的音律] ,欢迎联系转载. 之前我给大家分享过,全球演示相关的优秀设计公司,如果没印象的话,可以点击"上哪看优秀的PPT作品-设计公司篇"回顾一下. 文章里 ...
- c# 通过字体对话框获取字体名称和字体大小_PS插件神器 :fonTags,超好用的PS字体管理插件(附安装方法)
在Photoshop 中想准确找到一款字体,是特别烦人的事,今天这个神器帮你搞定这个难题!这是一款由大神开发的Photoshop 插件,可以扫描字体.自动分组.文本预览等等,功能丰富,使用方便,一起来 ...
- ps字体识别_PS字体包免费送:艺术+时尚+炫酷+复古等5000多款字体,由你来选择
对设计师而言,一款优美的字体板式设计可以为平面设计增添不少光彩,充满创造力的字体设计更是能为设计师带来源源不断的设计灵感:字体设计在平面设计中占据着重要的地位,对于一般人而言,美轮美奂的字体设计绝对能 ...
- 模块字体不生效_新版iPhone敬业签便签软件怎么将字体调大?
敬业签是一款功能比较全面的桌面便签软件,分为个人便签和团队协作便签,主要功能包括:云储存.多端同步.提醒待办事项.时间管理.已完成.日历月视图和时间轴等.在使用新版iPhone敬业签便签软件时,如果想 ...
- gt designer2不能初始化字体管理器_Windows Terminal 1.1预览版发布:新增字体粗细、随开机启动等功能...
经历了数月的公开测试之后,微软于上月发布了 Windows Terminal 1.0 正式版.今天微软再次发布了 1.1 预览版更新,引入了包括字体粗细.随开机启动等诸多功能.Windows Term ...
- java.io.FileNotFoundException异常,一是“拒绝访问”,二是“系统找不到指定路径”
java.io.FileNotFoundException异常,一是"拒绝访问",二是"系统找不到指定路径" 参考文章: (1)java.io.FileNotF ...
- 苹果字体怎么改_9102年了,公众号还不会换字体?
大家好,老沙来了 带着 公众号换字体 的技巧 扑面而来! 尽管以前发过换字体的教程 但许多尤其是新来的小伙伴 仍是存在疑问 今天老沙带来2个教程 分别用来换中文和英文字体 首先老沙要来给大家普及一下 ...
最新文章
- 计算起点地址和终点地址的最短驾车距离和驾车时间
- Mac Os 基本命令行
- 域名无法加入域解决方法
- vb如何测试连接mysql_怎么在vb程序中查找数据库信息并显示
- angular js $post,$get请求传值
- 发布CodeBuild.Net代码自动生成器 V2008 2.01(Vs2008)和架构实例源码Demo
- Bash脚本教程之行操作
- python多维数组运用_使用Python将文件读入多维数组
- 文件系统及软链接和硬链接
- python获取按钮点击后的数据_django表单中的按钮怎么获取数据
- u盘弹出工具_双佳数码 | 电脑u盘无法弹出怎么办?
- JS对cookie进行操作
- RDS还原数据库时报错:ERROR 1227 (42000) at line 78664
- linux目标文件链接命令,ld 命令:将目标文件链接为可执行程序 - dute.org
- unity3d 求两个点长度_Unity3D实现体积光
- 医疗器械信息系统分析
- premiere学习笔记01帧定格,时间码,透明视频,调整图层,转场及批量转场,插件安装,音频调整,关键帧,马赛克,蒙版,嵌套序列
- HFSS远场辐射设置与辐射方向图设置
- 2019年电赛之路——2015年电子设计竞赛A题任务设计
- C++程序设计课上机作业
热门文章
- 怎样在快手快速下载不含水印视频详细介绍 快手大批量下载高清无水印视频软件 说说如何快速下...
- 横图图片广告代码html,横向不间断的连续滚动图片/文字广告
- PHP广告横幅在线制作网站源码
- 记录Android开发中的问题及解决方法
- 什么样的运维工程师薪水较高, 你知道吗?
- 福建最新建筑八大员(机械员)模拟真题集及答案解析
- SunTorque今日分享|螺栓连接的拧紧与防松研究
- 表格学生表html,js编程练习:制作一个表格,显示班级的学生信息。
- c语言用矩形法求定积分的值,写一个用矩形法求定积分的通用函数,分别求:...
- 填补首飞遗憾!SpaceX 重型猎鹰火箭首次商业发射成功