docker部署項目亂碼問題

docker部署字體問題
問題:最近使用docker部署springboot微服務時,提示字體找不到,dockerfile文件如下:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD oa-admin-1.0.0.jar app.jar
ENTRYPOINT [“java”,"-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
導致項目啓動時一直報錯,在網上找了說是由於alpine系統沒用安裝字體引起的
解決方案:
在dockerfile添加字體安裝命令,修改的dockerfile如下:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD oa-flowable-1.0.0.jar app.jar
RUN set -xe
&& apk --no-cache add ttf-dejavu fontconfig
ENTRYPOINT [“java”,"-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
這樣就解決了啓動報錯的問題
問題2:由於我這個項目使用了工作流,通過docker部署後,生成的工作流的圖文件亂碼,在生成圖文件使用的字體爲宋體,其實也是由於字體的原因,前面雖然安裝了字體,但是不支持宋體;
所以我們要在dockerfile裏面加入安裝宋體的命令。
解決方案:
首先我們在windows系統找到宋體字體文件,一般在這個路徑下C:\Windows\Fonts,文件名爲:SIMSUN.TTC,大小寫不敏感,找到之後把這個字體文件和項目的dockerfile文件放置在同一路徑下,
然後在dockerfile增加如下命令:
在這裏插入圖片描述
其實也只是把這個字體拷貝到docker容器裏的某個路徑,這樣宋體字體就安裝好了,果然亂碼的問題得到解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章