遇到docker的中文亂碼問題有兩處
- vi 打開文件發(fā)現(xiàn)中文亂碼华坦,這時只需要修改.vimrc文件
cat << EOF > /root/.vimrc
:set encoding=utf-8
:set fileencodings=ucs-bom,utf-8,cp936
:set fileencoding=gb2312
:set termencoding=utf-8
EOF
- 導(dǎo)入數(shù)據(jù)庫發(fā)現(xiàn)中文亂碼修改修改數(shù)據(jù)庫文件,需要指定編碼格式為中文編碼
echo "set names utf8;" >> abc.sql
- 設(shè)置系統(tǒng)編碼格式為中文編碼
echo "export.UTF-8" >> /etc/profilesource /etc/profile
- 深坑不从!docker centos6.8 容器沒有 en_US.UTF-8 語言包惜姐!恭喜你,遇到深坑了4幌ⅰ歹袁!
# 安裝 en_US.UTF-8 并配置環(huán)境
RUN locale-gen en_US.UTF-8 ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
# 不要高興太早, locale-gen命令是沒有的寝优。
locale-gen一般用于ubuntu条舔,localedef一般用于centos。
yum remove glibc-common -y
yum install glibc-common -y
localedef -v -c -i en_US -f UTF-8 en_US.UTF-8
localelocale -a
docker的鏡像都是閹割版乏矾,很多功能都被刪除閹割了孟抗。
localedef是綁定在 glibc-common 中的迁杨,閹割版的鏡像中是沒有這個命令的,我們需要重新安裝glibc-common凄硼,首先卸載glibc-common铅协,然后重新安裝glibc-common,最后下載自己需要的語言包摊沉。
localedef -v -c -i en_US.UTF-8為了使得鏡像以后不再出現(xiàn)此坑警医,要制作鏡像的時候指定環(huán)境變量
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/.
timg (15).jpg