docker 容器是否从主机选择时间和时区

Does docker containers picks the time and timezone from the host machine

我在 Internet 上阅读了很多资源,但并没有清楚地表明这一点。有人可以澄清 docker 容器是否在启动时从主机选择时间和时区吗?

不,不是。除非你同步它们,或者除非 "coincidentally",时区在 docker 图像和主机中相同。在后一种情况下,您可能会觉得它正在从主机中选择时区,但事实并非如此。但是,您可以根据 docker 容器中的基础 OS 将时区与主机同步。

如果Docker直接在主机上运行,则实际时间与主机共享。如果您使用的是 VM-based 解决方案(Docker Machine,Docker 工具箱,Docker Desktop for Mac)VM 有自己的时间,但 VM 中的所有容器 运行 将共享该时间。

时区由 TZ 环境变量或 /etc/localtime 文件指定。环境变量是特定的 per-process,容器有自己的文件系统,这意味着每个容器的时区可能不同。如果我的主机认为当前是 06:02-04:00,那么容器很容易相信它是 10:02+00:00.