簡體   English   中英

docker for windows 等效於“-v /var/run/docker.sock:/var/run/docker.sock”

[英]docker for windows equivalent for “-v /var/run/docker.sock:/var/run/docker.sock”

我正在嘗試從容器內部控制主機 docker 服務。

使用 Linux 主機和 Linux 容器,通常這樣做: docker run -it -v /var/run/docker.sock:/var/run/docker.sock alpine

我現在想使用Docker for Windows主機和 Linux 容器來實現相同的目標。

如果嘗試了相當多的東西,大都采用DOCKER_HOST具有不同IP的喜歡10.75.0.1:2375 (泊塢窗VM的IP), 172.17.0.1:2375 (集裝箱IP)和0.0.0.0:2375以及192.168.178.xxx:2375 (主機 IP)。

但顯然在端口23752376上沒有任何響應,我檢查了以下內容: docker run -ti --rm alpine /bin/sh -c "apk add -U nmap && nmap -Pn 10.72.0.1 -p 2375-2376"

在這一點上,我想知道 Docker for Windows 是否可以做到這一點。 我發現的大多數信息都與docker-machine / VirtualBox組合有關。

這也適用於使用 Docker for Windows 運行 Linux 容器(但不適用於運行 Windows 容器)。 只需確保您的 shell 不會重寫路徑或類似內容。

我不知道 SO 是如何工作的,所以如果 necroposting 不受歡迎,那么抱歉。 我也不在 Windows 上使用 docker,但是在我搜索設置 portainer 的過程中出現了這個線程。 我想出了我想弄清楚的事情,並且在第一次登錄時,portainer 給了我這個警告:

 Ensure that you have started the Portainer container with the following Docker flag:
-v "/var/run/docker.sock:/var/run/docker.sock" (Linux).
or
-v \\.\pipe\docker_engine:\\.\pipe\docker_engine (Windows).

所以,你去了。 希望有幫助。

補充@friism的答案:

只需確保您的 shell 不會重寫路徑或類似內容。

這發生在我在 Windows 上的 Git Bash 中。 在這種情況下,解決方案是在所有絕對路徑前面加上一個額外的斜杠 ( / ),以禁用 Git Bash 完成的自動路徑重寫。 來源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM