心地よいライフハック

これ便利だな〜と思ったことなど

docker コンテナ内 時刻が 日本時間 じゃないので

docker コンテナ内 時刻が日本時間じゃない;;;
 
NTP使って同期させる?

-> コンテナ 1つずつ それぞれ 安易に NTP 使わなくてもできるのでは?
 
できたのか(゚O゚)
 

 
 
docker コンテナ内は 通常 デフォルト UTC時刻
 
$ date 
 
$ ls -lasrt /etc/localtime 
ls: cannot access 'ls': No such file or directory
0 lrwxrwxrwx 1 root root 27 Feb  4 00:00 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC
 
$ date
Fri Feb 22 06:02:13 UTC 2019

f:id:asuki_y:20190222153306p:plain

utc
 
これを 東京にしてしまおう!
$ ln -sf  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
 
root権限がなければコンテナの外に出て、Docker host側 から。
# docker exec -it -u root コンテナID  ln \-sf '/usr/share/zoneinfo/Asia/Tokyo' '/etc/localtime'
 
 
コンテナの中で date コマンドを 打ってみると、、

$ date
Fri Feb 22 15:05:42 JST 2019
 

f:id:asuki_y:20190222153333p:plain

jtc
 
コンテナ内の時刻が JST 表示で わかりやすくなった!
 

 
 
参考:
Docker コンテナの時刻同期(時刻データ)について
 
ln コマンドのオプションについて