欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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  #打包成镜像供后续调用

问题解决~