遇到docker時間不一緻,大多是因為預設時區沒有設定導緻,一般在主控端上使用 date date
指令看到的是 CTS 時間,進入docker後使用
指令檢視的是 UTC 時間。
CTS: China Standard Time,UTC+8:00 中國沿海時間(中原標準時間)
UTC: Universal Time Coordinated 世界協調時間
設定方法:
1、docker run 的時候增加環境變量
-e TZ=Asia/Shanghai
(這個有時候不太好使)
2、添加volumes映射
/etc/localtime
映射到 /etc/localtime
(可靠)
3、如果是你的鏡像是自己Dockerfile編譯的,那麼在你的Dockerfile中添加
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
# 1、CentOS6、Ubuntu16
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 2、CentOS7、RHEL7、Scientific Linux 7、Oracle Linux 7 最好的方法是使用timedatectl指令
timedatectl list-timezones |grep Shanghai #查找中國時區的完整名稱
Asia/Shanghai
timedatectl set-timezone Asia/Shanghai #其他時區以此類推
# 3、直接手動建立軟連結
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime