Ubuntu timedatectl在Docker容器中失败

时间:2017-05-11 06:22:24

标签: ubuntu docker ubuntu-16.04 ntp

我已经在Docker容器中运行Ubuntu 16.04 LTS(托管在macOS上)。日期/时间约为四天。

$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
$ date
Sun May  7 05:57:21 UTC 2017

生效日期为2017年5月11日06:17:13 UTC。

我想解决这个问题(检查thisthis),但我甚至无法运行timedatectl

$ timedatectl status
Failed to create bus connection: No such file or directory

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

回答问题的实际问题(如何在Docker容器中运行present(playModeVc, animated: true, completion: nil) 时修复Failed to create bus connection: No such file or directory):

将以下标志添加到timedatectl status命令:

docker run

您需要--privileged --volume /run/dbus/system_bus_socket:/run/dbus/system_bus_socket:ro ,否则您会收到“无法查询服务器:连接由同行重置”。 volume标志似乎与--privileged一起使用。

答案 1 :(得分:1)

时间漂移是由底层主机操作系统引起的,对于Docker而言,它不是macOS,而实际上是在macOS上运行的Linux VM。它与macOS睡眠时间有关(例如,当您关闭MacBook盖子时)。显然它最近已经修复,应该很快就可以使用:https://github.com/docker/for-mac/issues/17#issuecomment-300734810