前言:
默认的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
可以看到,官方默认未处理过的镜像,在使用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中添加上边的配置解决。