解決docker容器設置中文語言包出現(xiàn)的問題

如果在Docker 中采用 docker search centos

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、虛擬空間、營銷軟件、網站建設、扶溝網站維護、網站推廣。

采用 docker pull docker.io/centos 下載基礎鏡像

這個鏡像是不支持中文的,可以采用docker attach 容器ID進入容器后采用"locale"查看

可以采用“l(fā)ocale -a” 查看系統(tǒng)語言包,會發(fā)現(xiàn)沒有中文包

解決方案:

1、yum install kde-l10n-Chinese -y 安裝語言包(針對centos 7)

2、yum reinstall glibc-common -y 更新gitbc 包(因為該鏡像已閹割了該包的部分功能,所以需要更新)

3、localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 (設置系統(tǒng)語言包)

4、ENV LC_ALL zh_CN.UTF-8 通過設置環(huán)境變量的方式設置(可以采用直接修改/etc/locale.conf 文件來實現(xiàn),不過需要reboot)

5、如果采用Dockerfile 的方式,那么可以參考下面

# 版本信息FROM docker.io/centos:latestMAINTAINER mapengfei "pengfeima@powerbridge.com"#設置系統(tǒng)編碼RUN yum install kde-l10n-Chinese -yRUN yum install glibc-common -yRUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8#RUN export LANG=zh_CN.UTF-8#RUN echo "export LANG=zh_CN.UTF-8" >> /etc/locale.conf#ENV LANG zh_CN.UTF-8ENV LC_ALL zh_CN.UTF-8

補充:修改Docker容器字符編碼為-zh_CN.UTF-8中文字符集

版本記錄

2019.4.26日 第一版

問題描述

公司的java項目中使用了openoffice和pdf2html對文件進行格式轉換,word,ppt,pdf文件都轉換沒有問題,唯獨excel轉換后顯示亂碼

背景介紹

項目在Docker容器中運行,Docker版本:Docker version 18.06.1-ce, build e68fc7a

容器系統(tǒng)的內核版本:3.10.0-514.el7.x86_64

容器系統(tǒng)的發(fā)型版本:Cent0S7

故障原因

和架構溝通過后知道了word,pdf,ppt文件是通過openoffice和pdf2html配合轉換的,但excel文件卻沒有這樣處理,而是用了網上開源的java代碼實現(xiàn)的,架構看了代碼后發(fā)現(xiàn)在轉換excel文件的時候這段代碼讀取了宿主系統(tǒng)的語言配置,所以確定了問題的原因就是系統(tǒng)字符編碼設置。

解決方法

查看系統(tǒng)字符編碼沒問題(注意前三行),看來字符集設置正確。排查一下前三行的問題,網上說是沒有安裝中文字符集導致的

[root@4273aa460888 opt]# localelocale: Cannot set LC_CTYPE to default locale: No such file or directorylocale: Cannot set LC_MESSAGES to default locale: No such file or directorylocale: Cannot set LC_ALL to default locale: No such file or directoryLANG=zh_CN.UTF-8LC_CTYPE="zh_CN.UTF-8"LC_NUMERIC="zh_CN.UTF-8"LC_TIME="zh_CN.UTF-8"LC_COLLATE="zh_CN.UTF-8"LC_MONETARY="zh_CN.UTF-8"LC_MESSAGES="zh_CN.UTF-8"LC_PAPER="zh_CN.UTF-8"LC_NAME="zh_CN.UTF-8"LC_ADDRESS="zh_CN.UTF-8"LC_TELEPHONE="zh_CN.UTF-8"LC_MEASUREMENT="zh_CN.UTF-8"LC_IDENTIFICATION="zh_CN.UTF-8"LC_ALL=

我們看一本機都安裝了哪些字符集,我擦,果然沒有安裝中文字符集.....(沒有安裝就算你設置了也沒用)

[root@4273aa460888 opt]# locale -alocale: Cannot set LC_CTYPE to default locale: No such file or directorylocale: Cannot set LC_MESSAGES to default locale: No such file or directorylocale: Cannot set LC_COLLATE to default locale: No such file or directoryCPOSIXen_US.utf8

再看一下/etc/locale.conf的內容,干,還是英文字符集......

[root@4273aa460888 opt]# cat /etc/locale.conf LANG="en_US.UTF-8"

好,我們接下來安裝一下中文字符集

刪除yum.conf文件中的語言配置

sed -i '13'd /etc/yum.conf

安裝字體和glibc

yum install -y kde-l10n-Chinese glibc-common

我們再看一下,終于有了

[root@35b0e9b16498 opt]# locale -a|grep zhzh_CNzh_CN.gb18030zh_CN.gb2312zh_CN.gbkzh_CN.utf8zh_HKzh_HK.big5hkscszh_HK.utf8zh_SGzh_SG.gb2312zh_SG.gbkzh_SG.utf8zh_TWzh_TW.big5zh_TW.euctwzh_TW.utf8

我們再修改一下/etc/locale.conf文件

echo -e 'export LANG="zh_CN.UTF-8"\nexport LC_ALL="zh_CN.UTF-8"' > /etc/locale.confsource /etc/locale.conf

我們再看一下字符編碼,好了,沒有報錯,且一切正常。

[root@35b0e9b16498 opt]# localeLANG=zh_CN.UTF-8LC_CTYPE="zh_CN.UTF-8"LC_NUMERIC="zh_CN.UTF-8"LC_TIME="zh_CN.UTF-8"LC_COLLATE="zh_CN.UTF-8"LC_MONETARY="zh_CN.UTF-8"LC_MESSAGES="zh_CN.UTF-8"LC_PAPER="zh_CN.UTF-8"LC_NAME="zh_CN.UTF-8"LC_ADDRESS="zh_CN.UTF-8"LC_TELEPHONE="zh_CN.UTF-8"LC_MEASUREMENT="zh_CN.UTF-8"LC_IDENTIFICATION="zh_CN.UTF-8"LC_ALL=zh_CN.UTF-8

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

當前文章:解決docker容器設置中文語言包出現(xiàn)的問題
分享地址:http://m.kartarina.com/article2/epgiic.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供品牌網站設計企業(yè)建站網站建設網站收錄用戶體驗App設計

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網站建設
主站蜘蛛池模板: 亚洲成AV人片在线播放无码| 无码人妻丰满熟妇区BBBBXXXX| 国产免费AV片无码永久免费| 日韩精品无码免费专区午夜不卡| 无码人妻精品一区二区三区久久 | 成年无码av片完整版 | 亚洲AV无码一区二区二三区软件 | 日韩电影无码A不卡| 少妇无码一区二区三区免费| 国产精品无码MV在线观看| 无码137片内射在线影院| 超清无码无卡中文字幕| 老司机无码精品A| 无码精品人妻一区二区三区人妻斩 | 亚洲AV无码久久久久网站蜜桃| 亚洲日韩VA无码中文字幕| 亚洲色无码专区一区| 亚洲av无码成人黄网站在线观看| 国内精品久久人妻无码不卡| 亚洲国产精品无码久久98| 无码国产福利av私拍| 无码乱人伦一区二区亚洲| 伊人久久精品无码二区麻豆| 超清无码一区二区三区| 久久久精品无码专区不卡| 国产成人无码a区在线观看视频免费| 亚洲中文字幕无码久久2020| 免费A级毛片无码A∨免费| 亚洲av无码片在线观看| 中文字幕无码不卡免费视频 | 少妇无码太爽了在线播放| 麻豆人妻少妇精品无码专区| 日韩毛片无码永久免费看| 午夜寂寞视频无码专区| 无码av专区丝袜专区| 超清无码一区二区三区 | 亚洲AV无码成人精品区蜜桃| 亚洲国产精品无码中文字| 日韩国产精品无码一区二区三区 | 国产精品无码专区| 亚洲av专区无码观看精品天堂|