docker启动项目,中文显示问号,积极百度后发现要给系统设置中文语言包
locale
LANG=zh_CN.UTF-8
设置完成后,发现没有用,继续百度
locale -a #查看当前语言包
发现虽然设置了语言是zh_CN.UTF-8,但是其实当前系统并没有这个语言包
然后就开始装语言包
yum install glibc-langpack-zh
因为数据源的问题,这个包下不下来,然后还不准随便换,前辈就让我去网上下一个,手动装
百度摸到阿里的社区下了这个包,下的时候记得看一下架构,我下的时候就没看随便下了一个,安装的时候就报错
uname-a #查看当前系统的架构
阿里云开发者社区-云计算社区-阿里云
下好了过后,把语言包丢到/usr/share/fonts文件夹下(不确定别的文件夹行不行)
然后执行以下命令
rpm -ivh glibc-langpack-zh-2.28-72.el8.x86_64.rpm
执行完报错,说是有依赖没有,于是换成以下命令执行
rpm -ivh glibc-langpack-zh-2.28-72.el8.x86_64.rpm --nodeps --force
完成后再看语言包,这时再运行locale -a,发现语言包已经有了
再设置一下LANG=zh_CN.utf8(要和语言包里的名字一样),整个环境就是中文了
你以为这样就好了,其实并没有什么卵用,因为这个是临时的环境,下一次连接就换了,永久的要改配置文件,可以自行百度,而且和系统是不是中文没关系。(已经要气死了)
然后怀疑是docker的问题,接着去百度,说是在编译文件dockerfile里添加环境变量,设置语言为zh_CN.utf8就行了,试了一下,白扯
找了半天总算找到一个情况一样的,是docker容器的环境问题,运行以下命令,进入docker运行环境
docker exec -it test /bin/sh #test为容器名
进入环境后运行以下命令查看环境变量和语言包
evn #环境变量
locale
发现docker下没有中文语言包,然后又去百度怎么为docker容器添加语言包
参考别的老师提供的dockerfile
FROM centos:7
# 基于官方centos7精简版基础镜像,添加中文支持
# 替换yum源
COPY CentOS-base.repo /etc/yum.repos.d/
# 更新软件
RUN yum -y upgrade
# 安装中文包
RUN yum install -y kde-l10n-Chinese
# 重新安装glibc-common
RUN yum -y reinstall glibc-common
# 编译生成语言库
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
# 设置语言默认值为中文,时区改为东八区
RUN echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ENV LANG zh_CN.UTF-8
ENV LC_ALL zh_CN.UTF-8
将以下代码添加到自己的dockerfile中
# 替换yum源
COPY CentOS-base.repo /etc/yum.repos.d/
# 更新软件
RUN yum -y upgrade
# 安装中文包
RUN yum install -y kde-l10n-Chinese
# 重新安装glibc-common
RUN yum -y reinstall glibc-common
# 编译生成语言库
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
# 设置语言默认值为中文,时区改为东八区
RUN echo 'LANG="zh_CN.UTF-8"' > /etc/locale.confENV LANG zh_CN.UTF-8
ENV LC_ALL zh_CN.UTF-8
然后重新build,运行后发现中文正常显示,我又嫌弃build的时候搞太多东西,太慢了,很多只用搞一次就行,就把 " # 编译生成语言库 " 以上的部分注掉了,再次build,中文还是正常显示
参考:
https://www.cnblogs.com/yg_zhang/p/4331498.html
https://blog.csdn.net/weixin_41010198/article/details/109166131
docker java 镜像中文乱码问题解决_skybot的专栏-CSDN博客_docker java 中文乱码
https://www.5axxw.com/questions/content/gd5xe8
https://blog.csdn.net/qq_39314099/article/details/105047820
https://www.jianshu.com/p/7236cea9adfc
https://www.cnblogs.com/h2285409/p/14745010.html
https://blog.csdn.net/zhujing16/article/details/107502403
如何在Linux下如何安装多语言包_weixin_30553837的博客-CSDN博客
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)