docker centos7亂碼的解決辦法:1、創(chuàng)建一個(gè)centos7容器;2、進(jìn)入容器并查看當(dāng)前語(yǔ)言環(huán)境;3、添加中文環(huán)境編碼即可。
本文操作環(huán)境:centos7系統(tǒng)、Docker 20.10.11版本、Dell G3電腦。
docker centos7亂碼怎么解決?
解決docker容器中Centos7系統(tǒng)的中文亂碼
采用 docker pull docker.io/centos 下載的基礎(chǔ)鏡像,是不帶中文環(huán)境的,可以進(jìn)入容器內(nèi)使用 locale 查看當(dāng)前語(yǔ)言環(huán)境
創(chuàng)建一個(gè)centos7容器
# docker run --name node1 -h node -d -i -t centos /bin/bash
進(jìn)入容器
# docker exec -it node1 bash
查看當(dāng)前語(yǔ)言環(huán)境
# locale
[root@localhost ~]# docker run --name node1 -h node -d -i -t centos /bin/bash ba917b167d1bcc548176390d2f3b485599c9bb53362b4876fe80932463ef1d97 [root@localhost ~]# [root@localhost ~]# docker exec -it node1 bash [root@node /]# [root@node /]# locale LANG=LC_CTYPE="POSIX"LC_NUMERIC="POSIX"LC_TIME="POSIX"LC_COLLATE="POSIX"LC_MONETARY="POSIX"LC_MESSAGES="POSIX"LC_PAPER="POSIX"LC_NAME="POSIX"LC_ADDRESS="POSIX"LC_TELEPHONE="POSIX"LC_MEASUREMENT="POSIX"LC_IDENTIFICATION="POSIX"LC_ALL=[root@node /]#
不帶中文環(huán)境
[root@node /]# cd [root@node ~]# [root@node ~]# lsanaconda-ks.cfg [root@node ~]# [root@node ~]# mkdir 杜 [root@node ~]# [root@node ~]# lsanaconda-ks.cfg ???[root@node ~]#
添加中文環(huán)境編碼,安裝兩個(gè)包
# yum install kde-l10n-Chinese -y # yum install glibc-common -y
轉(zhuǎn)化語(yǔ)言環(huán)境和字符集
# localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
添加定義到系統(tǒng)環(huán)境變量
# vi /etc/profile export LC_ALL=zh_CN.utf8
執(zhí)行生效
# source /etc/profile
[root@node ~]# localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 [root@node ~]# vi /etc/profile [root@node ~]# source /etc/profile [root@node ~]# [root@node ~]# lsanaconda-ks.cfg 杜 [root@node ~]#
使用Dockerfile 構(gòu)建一個(gè)新的帶有中文環(huán)境的鏡像
FROM centos MAINTAINER djl #設(shè)置系統(tǒng)編碼 RUN yum install kde-l10n-Chinese -y RUN yum install glibc-common -y RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 #RUN export LANG=zh_CN.UTF-8#RUN echo "export LANG=zh_CN.UTF-8" >> /etc/locale.conf #ENV LANG zh_CN.UTF-8ENV LC_ALL zh_CN.UTF-8
推薦學(xué)習(xí):《docker教程》