docker容器里添加中文字体-微软雅黑字体

前言

在服务端生成图片,图片上的字体需要可以展示中文字体的这样一个需求,但是由于我们容器里面没有中文字体,所以中文显示不出来,显示乱码的情况。然后开发就给我提了一个需求,想让他的这个项目在部署所有环境的时候,docker容器里自动安装一个中文字体,字体是微软雅黑的。

处理步骤:

1.准备中文字体-微软雅黑

首先到容器里查询一下,确实没有字体。那我就得准备字体然后拷贝到容器里。

1、windows下有很多字体可以拿来使用,在C:\Windows\Fonts文件夹下找到需要安装的字体

mac的字体在/System/Library/Fonts文件夹下,里面有很多字体可以使用。下面是在mac的目录下的所有字体,可以根据自己的电脑操作系统来进行查找。

docker容器里添加中文字体-微软雅黑字体_第1张图片

2、上传到linux操作系统中

2、给系统安装字体管理

由于镜像是基于alpine系统的,所以需要基于alpine来安装字体管理。先临时在pod内操作一遍,测试没问题了在写在Dockerfile里。以下操作都是在对应服务的pod内来执行的。

# 更新源
apk update
# 安装font-adobe-100dpi软件
apk add font-adobe-100dpi
# 创建文件
mkdir /usr/share/fonts/win

3、拷贝中文字体文件到对应服务的pod中

kubectl cp yahei.ttf pod_name:/usr/share/fonts/win/yahei.ttc

4、刷新字体管理器

进入到pod内,对文件赋权限

chmod 777 /usr/share/fonts/win/simsun.ttc

5、刷新,查看

# 刷新
fc-cache -f
# 查看所有字体
fc-list

6、测试字体是否正常显示

测试没有问题,图片字体正常显示,其他字体也是一样的操作步骤。

7、写到Dockerfile

写到Dockerfile里,保证部署所有环境都可以正常显示

Dockerfile在原有的基础上添加如下内容

#添加中文字体
RUN apk update  && apk --no-cache add font-adobe-100dpi 
RUN mkdir /usr/share/fonts/win  
ADD yahei.ttf  /usr/share/fonts/win/yahei.ttf
RUN chmod 777 /usr/share/fonts/win/yahei.ttf  \
    && fc-cache -fv  && fc-list

你可能感兴趣的:(云原生,docker,云原生,kubernetes,运维)