开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

docker 容器中不支持中文的解决方法

简介:
+关注继续查看

最近的项目中Docker容器中生成的日志文件是中文名字,但是文件名是????.txt

进入容器内部:

docker exec -t -i 容器名 /bin/bash

查看容器的语言环境:

[root@12ec64254bc4 /]# locale
LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=


查看容器支持的语言:

[root@12ec64254bc4 /]# locale -a
C
POSIX
en_US.utf8
zh_CN.utf8


设置字符集为zh.CN.utf8:

[root@12ec64254bc4 zhai]# LANG=zh.CN.utf8


重新加载环境变量:
[root@12ec64254bc4 zhai]# source /etc/profile


再次查看:

[root@12ec64254bc4 zhai]# locale
LANG=
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



注意:这样修改只是临时修改。要永久修改,需要在创建容器时在dockerfile中设置。

        DOCKER_FILE_CONTENT=$DOCKER_FILE_CONTENT'ENV LANG zh_CN.UTF-8\n'
        DOCKER_FILE_CONTENT=$DOCKER_FILE_CONTENT'ENV LC_ALL zh_CN.UTF-8\n'


重建构建容器后,进入容器,查看locale:

[root@d18364b14af9 /]# 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


修改成功!










本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1892609,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Docker容器实战(四) - 纷纷扰扰,终归尘土(下)
Docker容器实战(四) - 纷纷扰扰,终归尘土(下)
51 0
Docker容器实战(四) - 纷纷扰扰,终归尘土(上)
Docker容器实战(四) - 纷纷扰扰,终归尘土(上)
55 0
Docker容器实战(四) - 纷纷扰扰,终归尘土(中)
Docker容器实战(四) - 纷纷扰扰,终归尘土(中)
62 0
Docker 容器实战 (四):纷纷扰扰, 终归尘土
伴随着 Docker 公司的容器技术生态在云计算市场中站稳了脚跟,围绕着 Docker 项目进行的各个层次的集成与创新产品,也如雨后春笋般出现在这个新兴市场当中。而 Docker 公司,不失时机地发布了 Docker Compose、Swarm 和 Machine “三件套”,在重定义 PaaS 走出了最关键的一步。
1663 0
Docker容器实战(四) - 纷纷扰扰,终归尘土
Docker公司为什么在Docker项目已经取得巨大成功之后,执意走回已经让无数先驱折戟的PaaS路呢? 实际上,Docker项目一直伴随着公司管理层和股东们的阵阵担忧。他们心里明白,虽然Docker项目备受追捧,但用户们最终要部署的,还是他们的网站、服务、数据库,甚至是云计算业务。
1513 0
Docker容器实战(二) -"鲸鱼"公司粉墨登场
一天天的,PaaS深入人心,Cloud Foundry为首的传统PaaS,开始蓄力基础设施领域的 平台化和PaaS化,于是发现了PaaS中的问题 1 如何给应用打包 Cloud Foundry/OpenShift/Clodify都没给出答案,走向碎片化歪路 此时,名不见经传的PaaS创业公司do...
1377 0
什么,容器太多操作不过来?我选择Docker Compose梭哈(下)
什么,容器太多操作不过来?我选择Docker Compose梭哈(下)
318 0
Docker容器实战(六) - 容器的隔离与限制
Linux容器中用来实现“隔离”的技术手段:Namespace。Namespace实际上修改了应用进程看待整个计算机“视图”,即它的“视线”被操作系统做了限制,只能“看到”某些指定的内容。对于宿主机来说,这些被“隔离”了的进程跟其他进程并没有区别。
1381 0
Docker容器实战(五) - 特殊的进程!
容器起于PaaS Docker项目具有里程碑意义 Docker项目通过“容器镜像”,解决应用打包这个根本难题 容器本身没有价值,有价值的是“容器编排” 正因为如此,容器技术生态才爆发了一场关于“容器编排”的“战争”而这次战争,最终以Kubernetes项目和CNCF社区的胜利而告终。
1422 0
Docker容器实战(三) - Docker的自我重新定位
Docker公司为什么在Docker项目已经取得巨大成功之后,执意走回已经让无数先驱折戟的PaaS路呢? 实际上,Docker项目一直伴随着公司管理层和股东们的阵阵担忧。他们心里明白,虽然Docker项目备受追捧,但用户们最终要部署的,还是他们的网站、服务、数据库,甚至是云计算业务。
1434 0
+关注
20376
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载