关于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

我的是

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

相关推荐
元Y亨H2 分钟前
深入解析 @DataScope 数据权限注解
spring boot
yuanManGan3 分钟前
走进Linux的世界:虚拟内存空间
linux·运维·服务器
落羽的落羽7 分钟前
【Linux系统】解明进程优先级与切换调度O(1)算法
linux·服务器·c++·人工智能·学习·算法·机器学习
架构师专栏11 分钟前
Spring Boot 4 概述与重大变化
spring boot·后端
踏浪无痕11 分钟前
6张表、14步业务逻辑,Mall订单事务凭什么比你的3步事务还稳?
spring boot·spring·面试
代码游侠27 分钟前
复习笔记——C语言指针
linux·c语言·开发语言·笔记·学习
TH_138 分钟前
腾讯云-(9)-宝塔面板-Docker下安装RabbitMQ
docker·rabbitmq·腾讯云
解道Jdon39 分钟前
IntelliJ IDEA 2025.3 全面对接 Spring7
spring boot·intellij idea
百***694441 分钟前
Linux下MySQL的简单使用
linux·mysql·adb
曾帅16843 分钟前
idea springboot开发编译所见即所得应用不需要重启
java·spring boot·intellij-idea