docker中文亂碼問題解決


環境:docker centos7、

前提:docker容器自己支持中文,這兒解決的是字體亂碼問題

1、java -jar 方式啟動的項目亂碼問題解決

1、查看是否支持中文,下面為支持中文
root@8a7f19aee104:/usr/local/tomcat# locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
2、處理方法將需要的字體加入到java的字體中,直接在dockerfile中添加解決中文亂碼配置(字體一般開發在windows中找到對應的字體文件)
FROM centos7-jdk8 #自己通過centos7添加jdk8打成的包
MAINTAINER makepakg
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#解決中文字體亂碼
COPY stcaiyun.ttf /jdk1.8.0_11/jre/lib/fonts
#添加本地的jar包到根目錄
ADD *.jar web.jar
EXPOSE 9999/tcp
#執行cmd命令,下面兩種方式都可以
ENTRYPOINT ["sh","-c","java -Duser.timezone=GMT+08 -jar /web.jar"]

2、tomcat 啟動的war包解決字體亂碼問題(同樣前提支持中文)

1、處理方法將需要的字體加入到系統的字體中,直接在dockerfile中添加解決中文亂碼配置(字體一般開發在windows中找到對應的字體文件)
FROM tomcat8
MAINTAINER makepakg
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#解決中文字體亂碼
COPY simsun.ttc /usr/share/fonts/
#添加程序到tomcat
RUN rm -rf /usr/local/tomcat/webapps/ROOT/*
ADD *.war /web.war
RUN unzip -oq /web.war -d /usr/local/tomcat/webapps/ROOT
RUN rm -rf /web.war
EXPOSE 8080/tcp

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM