如何解決Docker鏡像缺少字體的問題
Docker鏡像缺少字體問題
問題描述
最近在使用spire.office.free
這個工具將Excel轉(zhuǎn)換成Html時,后臺總是報(bào)
Cannot found font installed on the system.宋體
這個錯誤。
本地調(diào)試的好好的,因?yàn)榉?wù)器是docker運(yùn)行的,所以就懷疑到了docker上面,是不是docker里面缺少了字體。
試了直接在服務(wù)器運(yùn)行jar包是正常的,所以問題出現(xiàn)在docker上;
鏡像里使用的是openjdk:8-jdk-alpine
作為基鏡像,于是我改成了openjdk:8-jdk
試試結(jié)果成功了。
于是查了下,如何處理-alpine
鏡像的字體缺失的問題,經(jīng)過實(shí)踐,發(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)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker安裝并運(yùn)行rabbitmq的實(shí)例代碼
在本篇文章里小編給大家整理了關(guān)于docker安裝并運(yùn)行rabbitmq的實(shí)例代碼以及相關(guān)知識點(diǎn),需要的朋友們學(xué)習(xí)下。2019-10-10docker部署springBoot項(xiàng)目實(shí)操(docker是什么)
Docker可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個輕量級、可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化,這篇文章主要介紹了docker部署springBoot項(xiàng)目實(shí)操,需要的朋友可以參考下2025-03-03mysql8.4.0實(shí)現(xiàn)主從復(fù)制部署
主從復(fù)制是 MySQL 中一種用于實(shí)現(xiàn)數(shù)據(jù)冗余、提高可用性和性能的重要機(jī)制,本文主要介紹了mysql8.4.0實(shí)現(xiàn)主從復(fù)制部署,具有一定的參考價值,感興趣的可以了解一下2024-07-07使用Docker安裝和配置 MySQL 數(shù)據(jù)庫的過程詳解
本文將介紹如何使用Docker來安裝和配置MySQL數(shù)據(jù)庫,以便在開發(fā)和測試環(huán)境中快速搭建MySQL實(shí)例,本文也是介紹兩種方式進(jìn)行分別是“使用鏡像安裝”、“使用Docker Compose安裝”,感興趣的朋友一起看看吧2023-12-12Docker搭建持續(xù)集成平臺Jenkins的最簡教程分享
Jenkins 是一個廣泛使用的開源持續(xù)集成工具,它能夠自動化構(gòu)建、測試和部署軟件項(xiàng)目,本文我們將使用 Docker 搭建一個基于 Jenkins 的持續(xù)集成平臺,感興趣的可以了解下2024-03-03