environment:win10 docker+centos7+nginx1.9.9
issue:在docker运行nginx(centos),volume本地html目录挂载到nginx的html目录(index.html包含中文),①在container查看index.html中文乱码;②在宿主机查看http://localhost 中文乱码
分析:docker基础镜像不支持中文;Windows控制台不支持utf-8
一、Docker容器本身就是中文乱码:
docker提供的image,需要设置中文编码l(en_US.UTF-8、zh_CN.UTF-8),有的需要在安装中文语言包ocaledef -c -f UTF-8 -i zh_CN zh_CN.utf-8(依赖:kde-l10n-Chinese glibc-common),我把运行成功的构建放出来,供大家参考:
FROM centos:7.5.1804 MAINTAINER sonny.zhang <758896823@qq.com> ENV PATH /usr/local/nginx/sbin:$PATH RUN yum install -y wget lftp vim* kde-l10n-Chinese glibc-common gcc gcc-c++ make openssl-devel pcre-devel pcre && yum clean all ADD nginx-1.9.9.tar.gz /usr/local RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf-8 ENV LC_ALL zh_CN.UTF-8 RUN mkdir -p /usr/local/nginx WORKDIR /usr/local/nginx RUN cd ../nginx-1.9.9 && ./configure --prefix=/usr/local/nginx && make && make install EXPOSE 80 ENTRYPOINT ["nginx", "-g", "daemon off;"]
二、只是Win10控制台中文乱码:
1.运行CMD;
2.输入 CHCP,回车查看当前的编码;
3.输入CHCP 65001,回车;