1. 配置Dockerfile镜像时,永久修改。
在 Dockerfile 中添加
ENV LANG C.UTF-8
# ENV LANGUAGE C.UTF-8 #可不配置
# ENV LC_ALL C>UTF-8 #可不配置
2. 在运行的Container中,进行修改。
先输入locale -a
,查看一下现在已安装的语言,已经有C.UTF-8
字符集
输入locale
查看下语言情况,显示语言不正确。
通常设置`LANG、LANGUAGE、LC_ALL`这三个就行了。
关于他们三的关系简言之:
LANG默认设置,LC_*没设值的时候就拿LANG;LANGUAGE是程序语言设置;LC_ALL强制设置所有LC_*
详细传送门: [https://blog.csdn.net/nick357/article/details/8513699]
在/etc/bash.bashrc
里面末尾写入,然后source /etc/bash.bashrc
。
export LC_ALL="C.UTF-8"
输入locale
查看下语言情况,显示没有设置成功。
登出在登陆查看下,设置成功。
3. 在运行的Container中,安装新字符集进行修改。
先输入locale -a,查看一下现在已安装的语言。如果没有zh_CN.utf8
就需要安装中文字符集和设置中文字符支持。
# 如果安装 language-pack-zh-hans 失败,那么需要更新下系统。
# apt-get update & apt-get upgrade。
# 安装字符集
apt-get install -y language-pack-zh-hans;
# 添加中文支持
# zh_CN.UTF-8 等于 zh_CN.utf8
locale-gen zh_CN.UTF-8;
其他的按 2 进行就OK。或者可以重启docker容器
传送门:http://www.nikochan.cc/2017/10/30/DockerSolution/ 经检查,里面的临时修改方法是无效的
4. 启动时或进入bash时候,设置字符集
# env LANG=C.UTF-8 /bin/bash bash运行env设置LANG环境
docker run -i -t ubuntu env LANG=C.UTF-8 /bin/bash
or
docker exec -it ww env LANG=C.UTF-8 bash
传送门:http://blog.shiqichan.com/Input-Chinese-character-in-docker-bash/