docker 容器不支持汉字

我现在想重构容器,因为容器不支持汉字,文件名 全部都是问号 直接一个dockerfile?然后容器里的内容会丢吗?docker file 如何操作?

阅读 3.2k
2 个回答
  • Dockerfile 只是用于生成镜像的配置文件,修改配置后,需要重新build来生成镜像。用新的镜像来生成容器,自然不会包含旧的容器数据,也就是旧容器删除时,数据也会随着清除。这里如果需要保持业务数据不便,建议通过volume的方式,将数据外部挂载进容器。
  • 你上面提到的不支持汉字问题,我的理解是你的容器内,没有中文环境的支持或配置,当然你可以直接在现有容器里,直接安装中文支持,但下次重建容器后,支持包也就不复存在。当然你也可以把中文包的安装过程写在Dockerfile中,build成镜像,那下次重建容器,就不需要担心中文支持问题。
  • 不知你的镜像是基于什么版本的操作系统,这里给出debian/ubuntu的中文包安装参考:apt-get install language-pack-zh-hans

简单的方式:

centos:

ENV LANG=en_US.UTF-8

ubuntu/debian

ENV LANG=C.UTF-8

严格一点的方式,就是安装对应的汉字库。

centos:

yum install kde-l10n-Chinese
localedef -c -f UTF-8 -i zh_CN zh_CN.utf8

ubuntu/debian

apt-get install language-pack-zh-hans

然后统一设置:

ENV LANG=zh_CN.UTF-8

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进