我尝试运行与我的 Docker 主机具有相同时区的 Docker 容器。主机时区是CEST
.
当我运行时:
$ date
Thu Apr 16 11:04:11 CEST 2020
$ docker run -e TZ=CEST debian:buster date
Thu Apr 16 09:04:14 CEST 2020
容器比主机晚 2 小时。
另一方面,如果我设置TZ=Europe/Paris
,它会按预期工作:
$ docker run -e TZ=Europe/Paris debian:buster date
Thu Apr 16 11:04:22 CEST 2020
这是一个错误还是我错过了什么?
时区是默认设置的,您需要手动更改。
有一些选项:
在 Dockerfile 中设置它:
使用卷与主机同步:
或者
最后,手动设置它,但如果你重新启动容器,你会丢失配置:
经过一些研究,这似乎不是环境变量
CEST
的有效值。只是当前日期为夏季时的可显示版本。TZ
CEST
CET
事实上,如果我设置
TZ
为一个明显无效的值,它会给出:另请注意,它与 Docker 无关。
参考 :