Docker部署项目时间错误问题解决

 

前言

SpringBoot 项目打包成Docker镜像部署,时间错误???


△发现时间相差八小时

1.检查宿主机时间 date命令

 

 

2.检查容器时间

2.1.进入容器

docker exec -it 容器ID /bin/bash 
docker exec -it -u root 容器ID /bin/bash

2.2.查询程序运行时间

 

查询最近30分钟的日志 
docker logs --since 30m 容器ID

 

 

△解决问题

1.1.设置容器时间 etc/localtime

docker cp usr/share/zoneinfo/Asia/Shanghai 容器ID:etc/localtime 
docker cp etc/localtime 容器ID:etc/localtime

1.2.设置JVM对应时间 etc/timezone

docker cp etc/timezone 容器ID:etc/timezone

1.3.重启容器

docker restart 容器ID

 

2.1.删除容器/镜像,重新打包

修改项目Dockerfile

RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai" > /etc/timezon

完整Dockerfile:

FROM java:8
VOLUME /tmp
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai" > /etc/timezon
ADD *.jar /app.jar
EXPOSE 10016
ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar" ]

 

 

Guess you like

Origin blog.csdn.net/qq_35731570/article/details/116779287