提问者:小点点

如何确保docker的时间与主机的时间同步?


我有docker在Linode服务器上运行。有时,我发现dockers的时间不合适。目前,我已更改每个docker中的运行脚本以包含以下代码行。

yum install -y ntp
service ntpd stop
ntpdate pool.ntp.org

然而,理想情况下,我想做的是docker应该与主机同步时间。有办法做到这一点吗?


共3个答案

匿名用户

此答案的来源是对答案的评论:docker容器会自动与主机同步时间吗?

看了答案后,我意识到docker容器上不可能发生时钟漂移。Docker使用与主机相同的时钟,docker无法更改它。这意味着在docker内部做ntpdate是行不通的。

正确的做法是使用ntpdate更新主机时间

就同步时区而言,-v /etc/localtime:/etc/localtime: ro有效。

匿名用户

您可以将本地文件(/etc/timezone和 /etc/localtime)作为卷添加到Docker容器中。

使用以下行更新您的docker-comment. yml

volumes:
    - "/etc/timezone:/etc/timezone:ro"
    - "/etc/localtime:/etc/localtime:ro"

现在容器时间与主机上的相同。

匿名用户

这将重置docker服务器中的时间:

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

下次创建容器时,时钟应该是正确的。

来源:https://github.com/docker/for-mac/issues/2076#issuecomment-353749995