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