Docker部署springboot项目时间与宿主机相差8小时解决方案
Dockerfile
dockerfileFROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6 COPY /target/api-0.0.1-SNAPSHOT.jar api.jar EXPOSE 8080 ENTRYPOINT ["java", "-Dspring.profiles.active=prod", "-jar", "api.jar"]查看是否相差8小时
查看宿主机时间
shellubuntu@VM-0-12-ubuntu:$ date -R Mon, 28 Nov 2022 17:55:52 +0800查看docker容器时间
shelldocker exec -it 容器名 date -R Mon, 28 Nov 2022 09:58:08 +0000
解决方式
设置时区环境变量(ENV TZ=Asia/Shanghai)
dockerfileFROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6 # 设置时区 ENV TZ=Asia/Shanghai COPY /target/api-0.0.1-SNAPSHOT.jar api.jar EXPOSE 8080 ENTRYPOINT ["java", "-Dspring.profiles.active=prod", "-jar", "api.jar"]设置JVM参数(-Duser.timezone=Asia/Shanghai)
dockerfileFROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6 COPY /target/api-0.0.1-SNAPSHOT.jar api.jar EXPOSE 8080 ENTRYPOINT ["java", "-Dspring.profiles.active=prod", "-Duser.timezone=Asia/Shanghai", "-jar", "api.jar"]同时设置时区和JVM参数
dockerfileFROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6 # 设置时区 ENV TZ=Asia/Shanghai COPY /target/api-0.0.1-SNAPSHOT.jar api.jar EXPOSE 8080 ENTRYPOINT ["java", "-Dspring.profiles.active=prod", "-Duser.timezone=Asia/Shanghai", "-jar", "api.jar"]