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
修改成功!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
部署维护docker环境
1,安装环境说明 系统环境:centos6.6 服务应用了:haproxyconfdetcddocker 主机名ip服务角色 dockerha-152192.168.36.152haproxyconfd dockerEtcd-153192.168.36.153etcd dockermain-154192.168.36.154docker 2,安装依懒包,关闭冲突的服务 cd/etc/yum.repos.d wgethttp://www.hop5.in/yum/el6/hop5.repo 修改grub的主配置文件表示第一个title下的内容为默认启动的kernel(一般新安装的内核在第一个位置)。 然后重启,重启系统,这时候你的内核就成功升级了,版本应该在3.8以上了, uname-r [root@dockermain-154shell]# 3.10.5-3.el6.x86_64 sed-i'/^SELINUX=/c\SELINUX=disabled'/etc/selinux/config setenforce0 在FedoraEPEL源中已经提供了docker-io包,下载安装epel...
- 下一篇
docker 进入容器 开启一个新的bash窗口
docker exec -it 21323a52d19f /bin/bash 21323a52d19f 为容器名称 本文转自 yntmdr 51CTO博客,原文链接:http://blog.51cto.com/yntmdr/1694614,如需转载请自行联系原作者
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7设置SWAP分区,小内存服务器的救世主