說明:
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容器就可以了
