1.确认宿主机中是否有对应的字体
1.1.确认系统语言编码
$ echo $LANG
en_US.UTF-8
显示en_US.UTF-8说明支持中文
1.2. 查看已经安装的中文字体
$ fc-list :lang=zh
如果没有显示,说明这个宿主机中没有中文字体
2.安装字体软件
$ yum -y install fontconfig
注意这里安装的只是字体软件,不是字体
我们可以cd 到字体的目录下
$ cd /usr/share/fonts
$ ls
dejavu
此时,这个目录中是没有中文字体的
3.安装中文字体
我们可以在我们的Mac或者Windows找到字体并copy到/usr/share/fonts文件夹中
此处以Windows10为例:
先进入 C:\Windows\Fonts
可以挑选几个中文字体或者全选所有字体,拷贝到linux中的/usr/share/fonts目录下
再次查看fc-list :lang=zh
$ fc-list :lang=zh
/usr/share/fonts/chinese/MSYH.TTC: Microsoft YaHei:style=Normal
/usr/share/fonts/chinese/SIMSUN.TTC: 宋体,SimSun:style=常规,Regular
/usr/share/fonts/chinese/MSYHBD.TTC: Microsoft YaHei:style=?ντονα
/usr/share/fonts/chinese/DENGL.TTF: DengXian,DengXian Light:style=Light,Regular
/usr/share/fonts/chinese/DENG.TTF: DengXian:style=Regular
/usr/share/fonts/chinese/MSYH.TTC: Microsoft YaHei UI:style=Normal
/usr/share/fonts/chinese/MSYHBD.TTC: Microsoft YaHei UI:style=?ντονα
/usr/share/fonts/chinese/DENGB.TTF: DengXian:style=Bold
/usr/share/fonts/chinese/SIMSUN.TTC: 新宋体,NSimSun:style=常规,Regular
/usr/share/fonts/chinese/MSYHL.TTC: Microsoft YaHei UI,Microsoft YaHei UI Light:style=Light,Regular
/usr/share/fonts/chinese/SIMKAI.TTF: KaiTi:style=Regular,Normaali
/usr/share/fonts/chinese/SIMHEI.TTF: SimHei:style=Normal
/usr/share/fonts/chinese/SIMFANG.TTF: FangSong:style=Regular,Normaali
/usr/share/fonts/chinese/MSYHL.TTC: Microsoft YaHei,Microsoft YaHei Light:style=Light,Regular
此时宿主机中已经存在中文字体
4.Docker安装字体
我们可以通过目录挂载的方式,让Docker容器中的字体和宿主机的字体同步
在Dockerfile中加如下内容:
yum -y install fontconfig
RUN fc-cache -vf
在docker-compose.yml 中加如下内容:
volumes:
- /usr/share/fonts:/usr/share/fonts # 创建容器数据卷
5.测试
成功生成验证码