我已经在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。
我想解决这个问题(检查this和this),但我甚至无法运行timedatectl
:
$ timedatectl status
Failed to create bus connection: No such file or directory
我该如何解决这个问题?
答案 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