使用Springboot项目的jar,制作了一个Docker镜像,启动该镜像后发现容器和容器中的Springboot 项目的日志时间不正确。
解决
查看容器时间命令为:
docker exec 容器id date
1. 容器与宿主机同步时间
在启动镜像时候把操作系统的时间通过"只读"的方式挂载到容器中
添加命令行配置
-v /etc/localtime:/etc/localtime:ro
比如:
2. Spring boot Jar 启动时增加时区参数
在制作镜像时候,运行jar时指定上时区参数,以便Springboot项目中的日志中能够正确读取到指定时区的时间。中国采用东八区的时区,所以是GMT+8
-Duser.timezone=GMT+8
如:
java -jar -Duser.timezone=GMT+8 your_application.jar
对应的Dockerfile应该为
ENTRYPOINT ["java", "-jar", "-Duser.timezone=GMT+8", "/app.jar"]
或是
CMD java -Duser.timezone=GMT+8 -jar lamp-likang-server.jar
我的是
最后删除镜像,重新打包镜像 启动容器 查看日志就发现同步了文章来源:https://www.toymoban.com/news/detail-658394.html
文章来源地址https://www.toymoban.com/news/detail-658394.html
到了这里,关于关于Linux Docker springboot jar 日志时间不正确 问题解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!