系统里有一个需要在图片上画中文的功能,在测试环境是 ok 的,一到线上 Docker 容器环境中文就不显示了,查了一些资料说是缺少中文字体,那我们就来安装中文字体吧。

1. 查看当前使用的系统语言:

$ echo $LANG
en_US.UTF-8

en_US.UTF-8 是支持中文编码的,所以并不需要去安装中文编码的支持。

2. 查看已经安装的中文字体

$ fc-list :lang=zh 

如果这一步提示命令不存在,说明没有安装字体软件,执行下面的命令进行安装:

 yum -y install fontconfig

3. 安装字体

Linux 字体目录是:/usr/share/fonts
只要将字体文件放入这个目录就可以了,
Mac 上通过「字体册」就可以找到具体的字体:
在这里插入图片描述
在 Dockerfile 中加入:

yum -y install fontconfig
COPY Songti.ttc /usr/share/fonts/
RUN fc-cache -vf

fontconfig 是字体软件,然后重新构建镜像并部署新的镜像,进入容器里执行:

fc-list :lang=zh

这个时候就可以看到已经安装好的中文字体了,然后我再看那个「图片上画中文」的功能也 ok 了。当时这个问题困扰了我两天,其实还是对 Linux 和 Docker 容器不太熟悉吧,感叹书到用时方恨少。

参考:
给Docker镜像(Debian)添加中文支持和中文字体
Linux设置显示中文和字体
docker容器安装宋体

Logo

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

更多推荐