docker 容器中文乱码

2018-01-10  本文已影响0人  崔健敏

遇到docker的中文乱码问题有两处

vi打开文件发现中文乱码,修改

cat << EOF > /root/.vimrc

:set encoding=utf-8

:set fileencodings=ucs-bom,utf-8,cp936

:set fileencoding=gb2312

:set termencoding=utf-8

EOF

2.导入数据库发现中文乱码修改修改数据库文件,指定编码格式为中文编码

echo "set names utf8;" >> abc.sql

3.修改系统为中文编码

docker centos6.8容器没有en_US.UTF-8语言包
如果恭喜你,遇到深坑了,docker的镜像都是阉割版,很多功能都被删除阉割了。
localedef是绑定在 glibc-common 中的,阉割版的镜像中是没有这个命令的,我们需要重新安装glibc-common,首先卸载glibc-common,然后重新安装glibc-common,最后下载自己需要的语言包。

安装 en_US.UTF-8 并配置环境
yum remove glibc-common -y
yum install glibc-common -y
localedef -v -c -i en_US -f UTF-8 en_US.UTF-8
locale
locale -a

vim /root/cjm/flume/Dockerfile
FROM flume_v1.0
MAINTAINER by cgls
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
CMD ["/root/start.sh"]

docker build -t flume_v2.0 /root/cjm/flume/.

上一篇下一篇

猜你喜欢

热点阅读