Docker Tomcat應用日志時間和容器時間不一致解決辦法


說明:
1.在docker容器和系統時間不一致是因為docker容器的原生時區為0時區,而國內系統為東八區。
2.還有容器中運行的java應用打出的日志時間和通過date -R方式獲取的容器標准時間有八個小時時間差。 也就是容器時間和系統時間一致,但是部署的應用和容器時間不一致。Tomcat中部署java應用為例。

1.解決docker容器與宿主機時間不一致問題:

方法1、在啟動容器時,把系統時間掛載到容器內,添加如下參數
-v /etc/localtime:/etc/localtime:ro     //ro表示只讀

方法2、在容器中創建軟鏈接文件
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2.解決docker 容器與tomcat 應用打印日志時間不一致問題:

在tomcat/bin/catalina.sh文件中修改tomcat JAVA_OPTS,添加如下內容
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8  -Duser.timezone=GMT+08"
然后重啟docker容器就可以了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM