为什么我不能将时区更改为 CET 或 Europe/Berlin
[[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
容器不是虚拟机,它是在自己的文件系统和网络泡泡中运行的进程。一些全局系统设置是从主机继承的。要更改容器中运行的进程的时区,只需设置 TZ 环境变量。这是拥有自己的时区的标准 Unix 方式(在可能在不同时区的用户之间共享的系统上)。