docker 容器中不支持中文的解决方法
2017-08-02 10:50
399 查看
最近的项目中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
修改成功!
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
修改成功!
相关文章推荐
- docker 容器中不支持中文的解决方法
- docker 容器中不支持中文的解决方法
- docker 容器中不支持中文的解决方法
- docker 容器中不支持中文的解决方法
- json_encode不支持中文的一个解决方法
- POCO 的 Zip 类对中文文件名支持不正确的解决方法
- Mono环境下不支持中文的解决方法
- Mono环境下不支持中文的解决方法
- 解决ubuntu下latex不支持中文的方法
- docker中中文乱码和时区错误的解决方法
- Mac python IDLE不支持中文输入解决方法
- json_encode 不支持中文的解决方法
- Django 中文路径不支持解决方法
- php5.4以下版本json不支持不转义内容中文的解决方法
- CentOS cannot change locale UTF-8解决方法及设置中文支持
- Mono环境下不支持中文的解决方法
- Mono环境下不支持中文的解决方法
- poi的autoSizeColumn方法对全角或者说中文支持不好的一个解决办法
- CentOS cannot change locale UTF-8解决方法及设置中文支持
- 配置NGINX支持中文URL 中文文件名称或文件夹404无法訪问的解决方法