如何解決Docker鏡像缺少字體的問題
Docker鏡像缺少字體問題
問題描述
最近在使用spire.office.free這個工具將Excel轉(zhuǎn)換成Html時,后臺總是報
Cannot found font installed on the system.宋體
這個錯誤。
本地調(diào)試的好好的,因為服務(wù)器是docker運(yùn)行的,所以就懷疑到了docker上面,是不是docker里面缺少了字體。

試了直接在服務(wù)器運(yùn)行jar包是正常的,所以問題出現(xiàn)在docker上;
鏡像里使用的是openjdk:8-jdk-alpine作為基鏡像,于是我改成了openjdk:8-jdk試試結(jié)果成功了。
于是查了下,如何處理-alpine鏡像的字體缺失的問題,經(jīng)過實踐,發(fā)現(xiàn)以下可行的方案:
解決方案
FROM openjdk:8-jdk-alpine COPY test-office-font.jar app.jar #### 主要是這兩句 #### RUN set -xe && apk --no-cache add fontconfig COPY simsun.ttc /usr/share/fonts/ ###################### EXPOSE 8080 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
在Dockerfile中加入上面中的兩句,其中第二句中的simsun.ttc是我在windows中C:\Windows\Fonts拷貝來的宋體字體文件,網(wǎng)上還有一種添加開源字體的,我沒有嘗試成功。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker配置鏡像Docker pull時報錯:https://registry-1.docker.io/v
Docker拉鏡像報錯的原因可能是網(wǎng)絡(luò)問題、認(rèn)證問題、注冊中心URL不正確或注冊中心服務(wù)不可用,解決方法包括重載和重啟Docker服務(wù)2026-01-01
關(guān)于構(gòu)建aarch64環(huán)境Mysql8.0的Docker鏡像問題
這篇文章主要介紹了構(gòu)建aarch64環(huán)境Mysql8.0的Docker鏡像,需要的朋友可以參考下2022-04-04
Docker構(gòu)建ELK Docker集群日志收集系統(tǒng)
為了在Docker集群中更好的管理查看日志 我們使用Docker 來搭建集群的ELK日志收集系統(tǒng),這篇文章介紹了Docker構(gòu)建ELK Docker集群日志收集系統(tǒng)的相關(guān)資料,需要的朋友可以參考下2016-11-11

