修改docker容器的時間&&時區(事實證明centos&ubuntu系統都適用)
前言
全球不同的地方有不同的時區劃分,所有了以全球標準時間(UTC)和本地時間(localtime)區別。一般我們都設置成本地時間,方便操作與統計。機器里有兩個時鐘,硬件時鐘從根本上講是CMOS時鐘,而系統時鐘是由內核維護的。
查看docker容器時間及時區
date 或者data -R
時間時區修改
第一種修改方法:使用命令修改(使用root確保有權限),根據提示一步步修改就可以了
tzselect
第二種方法:直接復制時區文件,覆蓋/etc/localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
如果沒有這個文件則需要從宿主機中拷貝到容器里
(非docker操作)
手動修改時間
date -s MM/DD/YY //修改日期
date -s hh:mm:ss //修改時間
在修改時間以后,修改硬件CMOS的時間
# hwclock --systohc //非常重要,如果沒有這一步的話,后面時間還是不準
方法二:使用命令 timedatectl
# timedatectl set-time "xxxx年-xx月-xx日 時xx:xx分:秒xx" ##設定系統時間
# timedatectl list-timezones ##顯示系統的所有時區
# timedatectl set-timezone "Asia/Shanghai" ##設定系統時區,設定世界地點為上海
# timedatectl status #發現CST和utc時間不同
Local time: Fri 2020-04-10 10:48:41 CST ##本地時間
Universal time: Fri 2020-04-10 02:48:41 UTC ##國際標準時間
RTC time: Fri 2020-04-10 02:48:42 ##硬件時間
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
方法三:安裝ntp時間同步服務
# 安裝ntp服務(centos下)
yum install ntp ntpdate -y
# 開啟ntp服務
systemctl start ntpdate
# 同步時間服務器時間
ntpdate time.windows.com
# ntp只會同步系統時間而不會同步硬件時間,若服務器重啟則系統時間會失效,依舊從硬件時間開始計時,所以使用ntp同步系統時間后需要將系統時間同步到硬件時間
hwclock -w
浙公網安備 33010602011771號