问题背景:
在使用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中,在构建镜像的时候自动实现。