docker容器時間不對及java程序時間不對解決


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM