centos 的官方镜像是不带中文环境的,导致在读取带有中文的配置文件时一直报错,即使中文在注释里。
docker pull centos:centos7
docker run --name server -itd centos:centos7
docker exec -it server bash
locale
查看当前语言环境,查询结果:LANG= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL=
yum install kde-l10n-Chinese -y yum install glibc-common -y
localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
vi /etc/profile
,添加export LC_ALL=zh_CN.utf8
source /etc/profile
FROM centos MAINTAINER djl #设置系统编码 RUN yum install kde-l10n-Chinese -y RUN yum install glibc-common -y RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 #RUN export LANG=zh_CN.UTF-8 #RUN echo "export LANG=zh_CN.UTF-8" >> /etc/locale.conf #ENV LANG zh_CN.UTF-8 ENV LC_ALL zh_CN.UTF-8
参考博客:
Dockerfile 创建容器内中文乱码问题解决
解决 docker 容器中 Centos7 系统的中文乱码