iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >解决docker 容器设置中文语言包出现的问题
  • 350
分享到

解决docker 容器设置中文语言包出现的问题

2024-04-02 19:04:59 350人浏览 泡泡鱼
摘要

如果在Docker 中采用 docker search Centos 采用 docker pull docker.io/centos 下载基础镜像 这个镜像是不支持中文的,可以采

如果在Docker 中采用 docker search Centos

采用 docker pull docker.io/centos 下载基础镜像

这个镜像是不支持中文的,可以采用docker attach 容器ID进入容器后采用"locale"查看

可以采用“locale -a” 查看系统语言包,会发现没有中文包

解决方案:

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 (设置系统语言包)

4、ENV LC_ALL zh_CN.UTF-8 通过设置环境变量的方式设置(可以采用直接修改/etc/locale.conf 文件来实现,不过需要reboot)

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


# 版本信息
FROM docker.io/centos:latest
MaiNTAINER mapengfei "pengfeima@powerbridge.com"
#设置系统编码
RUN yum install kde-l10n-Chinese -y
RUN yum install glibc-common -y
RUN 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-8
ENV 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

容器系统的内核版本:3.10.0-514.el7.x86_64

容器系统的发型版本:Cent0S7

故障原因

架构沟通过后知道了word,pdf,ppt文件是通过openoffice和pdf2html配合转换的,但excel文件却没有这样处理,而是用了网上开源的java代码实现的,架构看了代码后发现在转换excel文件的时候这段代码读取了宿主系统的语言配置,所以确定了问题的原因就是系统字符编码设置。

解决方法

查看系统字符编码没问题(注意前三行),看来字符集设置正确。排查一下前三行的问题,网上说是没有安装中文字符集导致的


[root@4273aa460888 opt]# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=zh_CN.UTF-8
LC_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 -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
POSIX
en_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 zh
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
zh_HK
zh_HK.big5hkscs
zh_HK.utf8
zh_SG
zh_SG.gb2312
zh_SG.gbk
zh_SG.utf8
zh_TW
zh_TW.big5
zh_TW.euctw
zh_TW.utf8

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


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

我们再看一下字符编码,好了,没有报错,且一切正常。


[root@35b0e9b16498 opt]# locale
LANG=zh_CN.UTF-8
LC_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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

--结束END--

本文标题: 解决docker 容器设置中文语言包出现的问题

本文链接: https://www.lsjlt.com/news/122286.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 解决docker 容器设置中文语言包出现的问题
    如果在Docker 中采用 docker search centos 采用 docker pull docker.io/centos 下载基础镜像 这个镜像是不支持中文的,可以采...
    99+
    2024-04-02
  • 如何解决docker容器设置中文语言包出现的问题
    小编给大家分享一下如何解决docker容器设置中文语言包出现的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如果在Docker 中采用 docker sear...
    99+
    2023-06-14
  • 解决docker run后容器出现Exited (0)情况的问题
    自己做了个centos7的openresty的Dockerfile,build之后 docker run -d -p 801:80 openresty:1.19 /usr/loc...
    99+
    2024-04-02
  • Docker容器中出现中文乱码如何解决
    本篇文章给大家分享的是有关Docker容器中出现中文乱码如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。前台上传文件到服务器后,服务器返回给前台的文件列表中出现中文乱码,...
    99+
    2023-06-07
  • docker容器中安装vim问题解决
    目录故事的开始 装个 vim 编辑 hadoop-hive.env 大意了没有闪, 居然是 debian 其他方法 总结 故事的开始 很多互联网公司, 业务走过 0-1 的野蛮生长...
    99+
    2024-04-02
  • 解决VSCode设置中文时扩展出错的问题
    标题:解决VSCode设置中文时扩展出错的问题 在日常的开发工作中,许多程序员选择使用Visual Studio Code(简称VSCode)作为主要的集成开发环境。VSCode的扩展...
    99+
    2024-04-02
  • Docker容器导出为镜像问题怎么解决
    今天小编给大家分享一下Docker容器导出为镜像问题怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Docker容器导...
    99+
    2023-07-05
  • 解决docker容器无法访问的问题
    服务器上的docker容器都无法访问了,而且裸机部署的应用则没有任务问题。 docker容器重启多次均无法访问!!! docker服务重启也无济于事!!! 服务器网卡重启也不行!!! 网上搜了一堆方法...
    99+
    2023-09-14
    docker 服务器 运维
  • 解决R语言安装时出现辑程包不存在的问题
    【解决方案】 1.使用命令单独安装caret,安装的时间很长。 install.packages("caret", dependencies = c("Depends", "S...
    99+
    2024-04-02
  • 解决SpringMVC @RequestMapping不设置value出现的问题
    目录SpringMVC @RequestMapping不设置value从上个项目拷贝过来的form的action属性忘了修改了Spring mvc中@RequestMapping 6...
    99+
    2024-04-02
  • Docker运行Nacos容器自动退出问题的解决方法
    Dokcer运行Nacos容器自动退出问题 参考博文 学生党,租的云服务器,2核2G。使用Docker运行Nacos容器的时候发现总是自动退出。Nacos日志里面没有明显的报错信息。...
    99+
    2024-04-02
  • docker容器中安装vim问题怎么解决
    这篇文章主要介绍“docker容器中安装vim问题怎么解决”,在日常操作中,相信很多人在docker容器中安装vim问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”docker容器中安装vim问题怎...
    99+
    2023-06-20
  • c#闭包出现的问题怎么解决
    在C#中,闭包可能会引发内存泄漏或者变量捕获不正确的问题,可以通过以下方法来解决: 手动解除闭包引用:在闭包中,确保不再需要引用...
    99+
    2024-04-02
  • centos6.5安装R语言出现问题怎么解决
    这篇文章主要讲解了“centos6.5安装R语言出现问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“centos6.5安装R语言出现问题怎么解决”吧!环境:虚拟机centos6.5...
    99+
    2023-06-03
  • 解决使用Docker Compose管理容器的问题
    在Docker的设计中,一个容器只运行一个应用。但是目前的绝大多数应用系统都不是一个应用就可以组成的。虽然之前提到了容器间互相连接、交换数据的方法,使用这些方法也确实能搭建起一个完整...
    99+
    2024-04-02
  • anconda的pip下载包出现的问题解决
    目录问题一: 在anconda里面如何创建新的python环境(也就是更换新的python版本)问题二:pip的安装软件时出现包找不到的问题问题一: 在anconda里面如何创建新的...
    99+
    2023-02-09
    anconda pip下载包 anconda pip
  • 解决docker容器重启之后/etc下某些配置文件被重置的问题
    1. /etc/hosts, /etc/resolv.conf和/etc/hostname容器中的这三个文件不存在于镜像,而是存在于于/var/lib/docker/containe...
    99+
    2024-04-02
  • ubuntu英文语言无法设置成中文语言的解决方法
    这篇文章主要介绍了ubuntu英文语言无法设置成中文语言的解决方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我在修改系统设置的语言选项时,遇到了安装好汉语语言包之后,无法...
    99+
    2023-06-13
  • Docker中容器的创建与启停问题怎么解决
    今天小编给大家分享一下Docker中容器的创建与启停问题怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1. 镜像和容...
    99+
    2023-07-01
  • docker容器非root用户提权的问题解决
    目录一、使用非root用户启动docker容器二、验证非root用户启动容器的安全性本系列之前的文章中使用root用户安装docker,并在root用户下启动docker守护进程,容...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作