我在 Windows 10 上工作。我使用基于 Ubuntu 18.04 ( FROM ubuntu:18.04
) 的 docker 映像。当我使用 Docker 运行 Linux 容器时,“ date
”命令返回的时间与 Windows 主机上的时间不同。Linux 容器中的时间比 Windows 主机中的时间早两个小时。根据研究,我尝试了-v
带有命令的选项docker run
,但它不起作用(我从 powershell 终端或 Windows cmd 脚本运行 Docker 命令,Docker Desktop 默认使用 Linux 容器):
docker run -it --rm -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro myimage bash
我正在寻找“离线”解决方案。如何解决?
答案1
tzdata
您可能需要在容器中安装包。这包含有关时区的信息。/etc/timezone
告诉什么TZ 使用,但不是什么TZ 看起来是这样的。
之所以没有包含这个,是因为在很多情况下,了解容器内的本地时间并不重要。只有 UTC 时间才是相关的,但不需要tzdata
。