每當我嘗試在沒有網路連線的情況下執行 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)中,我觀察到核心只有在具有與環回不同的網路介面 UP 時才會啟動。如果您開啟上述文件,您可能會看到以下內容:
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
?根據SO上的這個答案,https://stackoverflow.com/a/27558619/55469,在這種情況下,docker 守護程序本質上是在不同的機器上運行,因此需要網路才能與其通訊。