天天看點

Docker容器部署tomcat出現中文亂碼

docker 容器部署tomcat後,日志檔案中出現中文亂碼,很多問号,中文的檔案夾也是問好。先看看容器的locale:

[[email protected] ~]# 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:

[[email protected] ~]# 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      

這樣亂碼就沒有了。

轉載于:https://www.cnblogs.com/ahang/p/6434355.html