天天看點

Docker時間不一緻,時區設定

遇到docker時間不一緻,大多是因為預設時區沒有設定導緻,一般在主控端上使用

date

指令看到的是 CTS 時間,進入docker後使用

date

指令檢視的是 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
           

繼續閱讀