Docker容器部署tomcat出现中文乱码

时间:2021-01-25 06:02:05

docker 容器部署tomcat后,日志文件中出现中文乱码,很多问号,中文的文件夹也是问好。先看看容器的locale:

[root@docker1 ~]# docker exec -it 41de9a0b6045 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=

docker默认为POSIX,系统是centos6.7,centos7也有这个问题。

在Dockerfile中添加环境变量: ENV   LC_ALL en_US.UTF-8

再启动docker,查询locale:

[root@a9f82e7842c1 ~]# locale
LANG=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

这样乱码就没有了。