docker容器中无法调用中文字体解决方案
程序员文章站
2022-05-31 08:19:42
...
最近呢,需要做一个node.js上线,临近最后上线遇到无法调用到字体,中文显示乱码,我们来看一下怎么解决
Centos(linux)添加字体方法介绍
centos或者其他Linux系统解决方案类似
1、首先打开win10/7”控制面板”->”字体”中,将自己要的字体复制出来。
多个字体可以打成zip或者tar包,上传到Linux系统中。
找到Linux字体存放中文字体位置,一般在/usr/share/fonts/zh_CN/ 下面,如果没有直接创建即可。
#因为我是在容器中运行的,所以需要先上传到Linux再到docker 运行的容器中
rz zh_CN.zip #上传到Linux本地
docker cp zh_CN.zip cd02effbd8d8:/usr/share/fonts/zh_CN/ #把文件拷贝到容器中
docker exec -it cd0 /bin/bash #进入容器
mkdir /usr/share/fonts/zh_CN/micro -p #创建目录
cd /usr/share/fonts/zh_CN/micro
2、解压并授权
unzip zh_CN.zip
chmod 775 /usr/share/fonts/zh_CN/
3、赋权并建立缓存。
chmod 775 /usr/share/fonts/zh_CN/micro
#建立缓存
cd /usr/share/fonts/
mkfontscale #如果容器中没有该命令也没关系
mkfontdir #如果容器中没有该命令也没关系
fc-cache -fv #提示后系统执行成功,问题解决,应用可以正常调到字体
最后,如果是docker或者K8S环境下记得保存一下镜像:
docker ps #查看需要打包的容器
docker commit cd02effbd8d8 node-server:zh_CN #打包成镜像供后续调用
问题解决~
下一篇: docker 容器无法使用中文 解决方案