首先说明一下 CentOS7和CentOS8关于locale语言文件的位置是不一样的.
Docker pull centos 拉取下来的镜像 一般是不带中文语言包的. 简单方法是在 CentOS之后安装app的过程中 添加上相应的语言文件, 以及设置环境变量.
如果容易已经运行起来可以换一个思路进行处理
两种版本思路基本一样,但是文件路径有所不同.
CentOS7的语言文件 路径
/usr/share/i18n/locales/
CentOS8的语言文件 路径
/usr/lib/locale/
注意这里面有一个坑
CentOS7 的 是一个文件 但是 CentOS8的是一个文件夹
将文件打包
然后通过docker cp的方式 将语言文件 copy 到容器的对应目录下面去
docker cp /usr/lib/locale/zh_CN.utf8.tar.gz container_id:/usr/lib/locale/
# 这次以 Centos8 举例
然后
docker exec -it container_id /bin/bash
进入容器
然后解压缩文件
并且社会环境变量
export LANG=zh_CN.utf8
可能需要重启容器 docker restart container_id
然后进行验证就可以.
注意这种方式会造成docker run 新的容器时失效 还是需要从源头 images 里面进行处理.