[Linux] 用命令列指令,修改 Docker container 中的系統時區

[Linux] 用命令列指令,修改 Docker container 中的系統時區

今天連到一台用 Docker 架設的 CentOS 機器,似乎沒有設定時區,

因此執行 date 時顯示的是 UTC 時間:

testuser@localhost ~ $ date
Mon Feb  6 08:19:41 UTC 2017

 

看一下 /etc/localtime,的確目前並沒有連結到任何一個時區:

testuser@localhost ~ $ ll /etc/localtime
-rw-r--r--. 1 root root 118 Mar  4  2015 /etc/localtime

 

想要修改時區的話,Docker 裡的機器沒有 GUI 可以用,只能用指令來修改~

先砍掉現在的 localtime 檔案,改建立一個 symbolic link,

指向 /usr/share/zoneinfo 下想要的時區檔案,

像是想將時區設定為台北 (UTC+8) 時,就將 /etc/localtime 指向 /usr/share/zoneinfo/Asia/Taipei:

rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Taipei /etc/localtime

 

確認 symbolic link 指定是正確的:

testuser@localhost ~ $ ll /etc/localtime
lrwxrwxrwx. 1 root root 31 Feb  6 16:20 /etc/localtime -> /usr/share/zoneinfo/Asia/Taipei

 

再執行一次 date 指令,現在顯示的已經是正確的台北時間 (CST) 了:

testuser@localhost ~ $ date
Mon Feb  6 16:20:59 CST 2017

 

參考資料:How To: 2 Methods To Change TimeZone in Linux

 

(本頁面已被瀏覽過 1,170 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料