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,回車;