关于Linux Docker springboot jar 日志时间不正确 问题解决

使用Springboot项目的jar,制作了一个Docker镜像,启动该镜像后发现容器和容器中的Springboot 项目的日志时间不正确。

解决

查看容器时间命令为:

docker exec 容器id date

1. 容器与宿主机同步时间

在启动镜像时候把操作系统的时间通过"只读"的方式挂载到容器中

添加命令行配置

java 复制代码
-v /etc/localtime:/etc/localtime:ro

比如:

2. Spring boot Jar 启动时增加时区参数

在制作镜像时候,运行jar时指定上时区参数,以便Springboot项目中的日志中能够正确读取到指定时区的时间。中国采用东八区的时区,所以是GMT+8

-Duser.timezone=GMT+8

如:

java 复制代码
java -jar -Duser.timezone=GMT+8 your_application.jar

对应的Dockerfile应该为

java 复制代码
ENTRYPOINT ["java", "-jar", "-Duser.timezone=GMT+8", "/app.jar"]

或是

java 复制代码
CMD java -Duser.timezone=GMT+8 -jar lamp-likang-server.jar

我的是

最后删除镜像,重新打包镜像 启动容器 查看日志就发现同步了

相关推荐
xqhoj11 分钟前
Linux——make、makefile
linux·运维·服务器
张童瑶28 分钟前
Linux 在线安装编译Python3.11
linux·运维·python3.11
Shi_haoliu37 分钟前
SolidTime 在 Rocky Linux 9.5 上的完整部署流程
linux·运维·nginx·postgresql·vue·php·laravel
Lkygo1 小时前
LlamaIndex使用指南
linux·开发语言·python·llama
qq_254617771 小时前
nslookup 这个命令解析dns,和系统接口gethostbyname解析区别在哪?
linux·网络
座山雕~2 小时前
Springboot
android·spring boot·后端
HIT_Weston2 小时前
100、【Ubuntu】【Hugo】搭建私人博客:元信息&翻译(一)
linux·运维·ubuntu
C_心欲无痕2 小时前
Docker 的镜像与容器
运维·docker·容器
Mr. Cao code2 小时前
Docker匿名数据卷实战指南
运维·ubuntu·docker·容器
自由的好好干活3 小时前
UBI镜像文件打包与编辑
linux·嵌入式硬件