【问题标题】:Windows Docker Desktop Linux mode - docker container time skewWindows Docker 桌面 Linux 模式 - docker 容器时间偏差
【发布时间】:2020-08-31 02:27:33
【问题描述】:

问题:如何将 docker 容器时间映射到本地 PC 时间以同步 docker 容器内的时间?

在我的 Windows 10 PC 上,我正在运行 Linux 模式 docker desktop version 2.2.0.4 (43472),docker Engine 19.03.8。

所有创建的 docker 容器都显示出与主机相比的巨大时间偏差:

来自 centos 8 docker 容器:

[root@/]#日期 2020 年 5 月 7 日星期四 01:18:16 UTC

从在 Windows 10 PC 上运行 Window Docker 桌面的 docker 主机:

PS>日期

2020 年 5 月 14 日 14:42:17

我尝试使用 -v 选项创建一个新容器,如下所示:

docker container run -it -vc:\docker_volumes\docker1:/storage -v /etc/localtime:/etc/localtime:ro --name centos7-squid centos:7.7.1908 /垃圾箱/bash

我收到以下错误

无法在本地找到图像“centos:7.7.1908” 7.7.1908:从库/centos 中提取 f34b00c7da20:提取完整摘要:sha256:50752af5182c6cd5518e3e91d48f7ff0cba93d5d760a67ac140e2d63c4dd9efc 状态:为 centos:7.7.1908 下载了更新的镜像 C:\Program Files\Docker\Docker\resources\bin\docker.exe:来自守护进程的错误响应:OCI 运行时创建失败:container_linux.go:349:启动容器进程导致“process_linux.go:449:容器初始化导致\” rootfs_linux.go:58: 将 \\"/etc/localtime\\" 挂载到 rootfs \\"/var/lib/docker/overlay2/c7e86cffdc46c354f19b25fa97146ce8f2caee653793219719b043c97040d1b7/merged\\" 在 \\"/var/lib/docker/overlay2/ c7e86cffdc46c354f19b25fa97146ce8f2caee653793219719b043c97040d1b7/merged/usr/share/zoneinfo/UTC\\" 导致 \\"not a directory\\"\"":未知:您是否尝试将目录挂载到文件上(反之亦然)?检查指定的主机路径是否存在并且是预期的类型。

【问题讨论】:

    标签: windows docker centos


    【解决方案1】:

    我通过设置运行 docker 的虚拟机的硬件时钟来修复它:

    docker run --rm --privileged alpine hwclock -s

    信用: https://blog.jverkamp.com/2017/11/15/clock-drift-in-docker-containers/

    【讨论】:

    • 纯魔法!修复了睡眠后我的 docker 时间不同步问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    • 2023-01-18
    • 2021-03-01
    • 1970-01-01
    • 2017-04-21
    • 2022-01-27
    • 2017-02-01
    相关资源
    最近更新 更多