centos 镜像中文乱码
解决 centos 镜像中文乱码
centos 的官方镜像是不带中文环境的,导致在读取带有中文的配置文件时一直报错,即使中文在注释里。
有两种方案:
1. 在容器中修改语言环境
- 拉取 centos 镜像
docker pull centos:centos7 - 创建一个 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 glibc-common -y - 转化语言环境和字符集
localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 - 添加定义到系统环境变量
echo "export LC_ALL=zh_CN.utf8" >> /etc/profile - 执行生效
source /etc/profile
2. 使用 Dockerfile 构建一个新的带有中文环境的镜像
FROM centos
MAINTAINER djl #设置系统编码
RUN yum install kde-l10n-Chinese glibc-common -y
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
RUN echo "export LC_ALL=zh_CN.utf8" >> /etc/profile
ENV LC_ALL zh_CN.UTF-8
参考博客:
Dockerfile 创建容器内中文乱码问题解决
解决 docker 容器中 Centos7 系统的中文乱码

浙公网安备 33010602011771号