每当我尝试在没有互联网连接的情况下运行 docker 时,我都会收到这样的奇怪消息
docker ps
2015/05/22 23:31:45 Get http:///var/run/docker.sock/v1.12/containers/json: dial unix /var/run/docker.sock: no such file or directory
我连接到网络后,一切正常。
我不知道这两件事有何关联。
答案1
这取决于 docker 的版本,但很可能是因为/etc/init/docker.conf
Ubuntu 系统中的 upstart init 脚本。在我测试的 docker 版本 (1.11.2) 中,我观察到核心只有在网络接口 (不同于环回) 启动后才会启动。如果打开上述文件,您可能会看到以下内容:
description "Docker daemon"
start on (filesystem and net-device-up IFACE!=lo)
stop on runlevel [!2345]
...
更改该行start on
以允许在没有网络的情况下启动非常简单:
start on (filesystem and net-device-up IFACE=lo)
下次重新启动将成功启动守护进程。
答案2
您正在使用吗boot2docker
?根据此答案,https://stackoverflow.com/a/27558619/55469,在这种情况下,docker 守护进程实际上是在不同的机器上运行的,因此需要网络才能与其通信。