繁体   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