服务部署后,发现页面请求返回的数据是???,乱码了....
因为采用 docker pull docker.io/centos 下载的基础镜像,是不带中文环境的。
下面使用Dockerfile 构建一个新的带有中文环境的镜像,设置中文UTF-8字符集,解决乱码问题。
# 基于centos:7
FROM centos:7
# 替换yum源
ADD CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo
#设置中文UTF-8字符集
RUN yum -y install kde-l10n-Chinese \
&& yum -y reinstall glibc-common \
&& localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 \
&& echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf \
&& source /etc/locale.conf \
&& yum clean all
ENV LANG=zh_CN.UTF-8 \
LC_ALL=zh_CN.UTF-8
构建新的镜像
docker build -t centos_zh:7 .
启动容器,查看字符集,设置成功。