前言:

默认的Centos7镜像,是不支持中文字体的,但是在实际的生产环境中使用的话,有些日志是打印成中文字体方便我们浏览日志,所以在使用之前需要处理以下。这里讲两种情况,一个是容器内解决的方式,另一种是Dockerfile构建镜像时的解决方法。


容器内解决的解决方式:

sh-4.2# localedef -i zh_CN -f UTF-8 zh_CN.UTF-8
sh-4.2# yum -y install kde-l10n-Chinese && yum -y reinstall glibc-common
sh-4.2# localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
sh-4.2# export LC_ALL=zh_CN.utf8

#测试:
sh-4.2# date
2023年 03月 01日 星期三 09:58:59 UTC

Centos7镜像中文乱码问题处理_Docker

Centos7镜像中文乱码问题处理_Docker_02

可以看到,官方默认未处理过的镜像,在使用date时并没有中文,通过上边的命令解决后,可以看到date命令返回了中文字体,验证了已支持中文字体。


Dockerfile构建时处理乱码问题:

RUN yum -y install kde-l10n-Chinese vim \
    && localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 \
    && echo LANG= " zh_CN.UTF-8 " >>/etc/locale.conf
ENV LC_ALL=zh_CN.UTF-8

在Dockerfile中添加上边的配置解决。