Docker容器與Linux主機環境獲取時間不一致


最近通過Docker部署了.Net Core項目,發現創建時間和修改時間與實際時間慢8小時,默認不是東八區了,通過同步時間來解決。

查看linux系統時區和docker容器時區

date -R                          //查看linux主機時間和時區
date exec [container] date -R    // 查看容器時間和時區

2者的時間差了8個小時

解決方案

 1、利用Dockerfile創建鏡像時。在Dockerfile中加入

ENV TIME_ZONE=Asia/Shanghai 
RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone

2、容器創建時。加入時區掛載選項:-v /etc/localtime:/etc/localtime。實例:

docker run -d -p 5002:80 -v /etc/localtime:/etc/localtime --name dotnetcontainer dotnetimage

 


免責聲明!

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



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