docker部署微服务不支持中文字体的解决方案(基础镜像为java:8)

docker部署微服务不支持中文字体的解决方案(基础镜像为java:8)

  • 出现原因

由于项目中有很多微服务,传统的部署方式为先将微服务打成一个个jar包,再传到服务器上,最后使用命令一个一个启动,比较繁琐。因此决定使用idea集成docker插件一键部署jar包,但是在使用过程中发现一个问题:项目中用到了工作流,在查看流程图时图中的中文字体都变成了一个个白框。之前也遇到过这个问题,是因为服务器没有安装中文字体(宋体为例),因此在服务器安装一个宋体字体即可解决。但是现在是用docker部署服务,每个docker都是一个单独的环境,且没有安装宋体,因此问题重现。

  • 解决思路

在基础镜像java:8中加入宋体,并打包成新的镜像,然后使用该镜像作为基础镜像。

  • 步骤
    1、编写Dockerfile文件

    FROM java:8
    WORKDIR /root
    COPY simsun.ttc /usr/share/fonts/
    

    2、拷贝字体到Dockerfile文件同目录下(此处用到的时simsun.ttc)
    3、docker根据dockerfile构建镜像(不要忘了后面的“.”)

    docker build -f Dockerfile -t java:withfont .
    

    4、使用新构建的镜像作为基础镜像

    FROM java:withfont
    WORKDIR /root
    ADD /root/pd_ops-1.0-SNAPSHOT.jar /root/
    ENTRYPOINT ["java","-Xmx2048m","-Xms2048m","-jar","pd_ops-1.0-SNAPSHOT.jar"]
    
  • 结果:问题成功解决

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值