Docker時間不一致,時區(qū)設置方式
Docker時間不一致,時區(qū)設置
遇到docker時間不一致,大多是因為默認時區(qū)沒有設置導致,一般在宿主機上使用 date 命令看到的是 CTS 時間,進入docker后使用 date 命令查看的是 UTC 時間。
CTS: China Standard Time,UTC+8:00 中國沿海時間(北京時間)
UTC: Universal Time Coordinated 世界協調時間
設置方法
1、docker run 的時候增加環(huán)境變量 -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
這樣使用Dockerfile build 后的鏡像就是OK的。
另外,Linux宿主機關于時區(qū)的設置方法
如下參考
# 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 #查找中國時區(qū)的完整名稱 Asia/Shanghai timedatectl set-timezone Asia/Shanghai #其他時區(qū)以此類推 # 3、直接手動創(chuàng)建軟鏈接 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

