首先說明一下 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 里面進行處理.