最近通過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