CentOS8 的容器運行時解決中文亂碼問題的一個思路


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM