使用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