Dockerはタイムゾーンを変更できません。

Dockerはタイムゾーンを変更できません。

タイムゾーンをCETまたはヨーロッパ/ベルリンに変更できないのはなぜですか?

[[email protected] ~]# docker run -ti --rm debian:stretch bash
root@b65a4b63c152:/# cat /etc/timezone
Etc/UTC
root@b65a4b63c152:/# echo 'Europe/Berlin' > /etc/timezone
root@b65a4b63c152:/# cat /etc/timezone
Europe/Berlin
root@b65a4b63c152:/# dpkg-reconfigure -f noninteractive tzdata

Current default time zone: 'Etc/UTC'
Local time is now:      Fri Mar  1 10:31:46 UTC 2019.
Universal Time is now:  Fri Mar  1 10:31:46 UTC 2019.

root@b65a4b63c152:/# ls -l /usr/share/zoneinfo/Europe/Berlin
-rw-r--r-- 1 root root 2335 Dec 31 09:43 /usr/share/zoneinfo/Europe/Berlin
root@b65a4b63c152:/# echo $TZ

root@b65a4b63c152:/# date '+%Z %z'
UTC +0000
root@b65a4b63c152:/# cat /etc/timezone
Etc/UTC

ベストアンサー1

コンテナは仮想マシンではなく、独自のファイルシステムやネットワークバブルで実行されるプロセスです。一部のグローバルシステム設定はホストシステムから継承されます。コンテナで実行されているプロセスのタイムゾーンを変更するには、TZ環境変数を設定するだけです。これは独自のタイムゾーンを持つ標準のUnix方式です(異なるタイムゾーンのユーザー間で共有できるシステムで)。

>> docker run -it --rm debian bash
root@719d5f1d0999:/# date
Fri Mar  1 10:54:56 UTC 2019
root@719d5f1d0999:/# export TZ='CET'
root@719d5f1d0999:/# date
Fri Mar  1 11:55:19 CET 2019

おすすめ記事