问题背景:       

       在使用docker部署项目的时候,由于项目中调用打印控件默认使用的是系统字体,在windows上部署没有问题,但是在docker容器中运行的时候,由于docker中没有宋体等相关字体,导致系统报错无法找到相应的字体。


解决思路:

       其实就像解决linux本身没有宋体的问题一样,也可以用来解决容器问题。发现其实很多docker容器的问题最后都可以仿照linux的解决思路来处理。大体就是下载宋体ttf、ttc文件,然后将其考入容器字体目录下,重启容器即可。


解决办法:

       1、查看容器支持的字体。

fc-list :lang=zh

          当看到下列情况,说明没有安装字体管理,需要安装字体


       

       2、安装字体库。

yum -y install fontconfig
       安装完成后,在/usr/share目录下就能看到fontconfig、fonts文件夹,如图:



       3、将下载下来的字体ttc、ttf文件拷贝到容器的/usr/share/fonts文件中。

cp simsun.ttc 容器:/usr/share/fonts
cp simsun.ttf 容器:/usr/share/fonts

        4、然后重启容器,就可以看到安装的中文字体。


       

       5、也可以将此步骤写到Dockerfile中,在构建镜像的时候自动实现。




Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐