docker镜像中文支持问题
ps. 在开发中不要使用中文传递参数
- 排查步骤
# 分别在开发环境和docker容器中执行 locale -a
# 可以查看到docker环境仅包含posix编码,开发环境包括utf-8
# 调用python命令行执行:
sys.getdefaultencoding()
# 也可以发现两者的区别
- 尝试解决
由于同事无法直接提供Dockerfile,只能在他的镜像基础上做修改,
制作如下的Dockerfile
FROM XXX # 同事的镜像名RUN yum install kde-l10n-Chinese -y &&
yum reinstall glibc-common -y &&
localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 &&
echo "export LANG=zh_CN.UTF-8">>/etc/locale.conf &&
source /etc/locale.conf
WORKDIR /home/xxxx # 指定原先的工作路径
COPY run.sh . #新增一个启动脚本
EXPOSE 8080
ENTRYPOINT ["/bin/bash","run.sh"]
安装步骤
docker build -t xxx #创建新镜像docker run -d --rm xxx -p 10081:8080 xxx # 启动镜像
docker ps -a | grep xxx # 查找执行容器
docker exec -it xxxx bash # 到容器执行控制台
locale -a # 查看当前系统编码, 修改为zh_CN.utf-8
待验证。。
参考
- csdn
以上是 docker镜像中文支持问题 的全部内容, 来源链接: utcz.com/z/513711.html