之前部署的服务发现log打印出来,包括生成的文件打开都是显示中文乱码,但是在控制台看是正常的,我们用的openshift,一直没解决,今天抽时间解决了,来记录一下,docker我用的不是很熟,凑活解决了。
我们项目是部署在内网的,用到打包的centos镜像,jdk镜像是centos镜像打包来的,我们的服务用到的是jdk镜像生成的,一环套一环,最后解决就是,将centos镜像里安装中文包,操作如下:
先将centos镜像生成tar包
docker save 镜像id > /root/centos-0716.tar
拷贝到有外网的机器上,导成镜像
docker load < /root/centos-0716.tar
docker save和load是将内网的镜像完全拷贝出来,镜像的id和版本号都是一致的。
然后启动镜像
docker run -it centos:V1.0 /bin/bash
启动镜像以后会直接进入到镜像,可以看一下现在的镜像里面是没有中文包的
命令: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 (设置系统语言包)
第二个步骤我这边执行错误,所以我只执行了1,3
然后就可以看到有中文包了