使用docker容器部署的应用,会出现时间与主机不一致的情况
1. 容器时间与主机差8个小时:主机的与容器的/etc/localtime不一致
解决方法:挂载主机的/etc/localtime,如果没有则cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2. 如果里面运行的是java程序,哪么程序时间还是会8个小时的差别:主要是Java或取时间是从/etc/timezone里获取时区
解决方法:挂载主机的/etc/timezone,如果没有则新建echo "Asia/shanghai" > /etc/timezone;
或者是通过jvm参数将时区信息传进jvm里:-Duser.timezone=GMT+08
示例:
jenkins: image: jenkins/jenkins:lts-alpine user: "1000:1000" volumes: - /home/lobin/jenkins:/var/jenkins_home - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro