适用于Windows的docker等效于" -v /var/run/docker.sock:/var/run/docker.sock"

时间:2017-03-21 22:32:23

标签: linux windows docker

我试图从容器内控制主机泊坞窗服务。

使用Linux主机和Linux容器通常如下所示: docker run -it -v /var/run/docker.sock:/var/run/docker.sock alpine

我现在想要使用Docker for Windows主机和Linux容器实现相同目的。

如果尝试了很多事情,主要使用DOCKER_HOST,其中包含10.75.0.1:2375(Docker VM的IP),172.17.0.1:2375(容器IP)和{{0.0.0.0:2375等不同的IP 1}}以及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组合。

3 个答案:

答案 0 :(得分:2)

使用Docker for Windows运行Linux容器时也能正常工作(但在运行Windows容器时却没有)。只需确保您的shell不会重写路径或类似路径。

答案 1 :(得分:1)

我不知道SO是如何工作的,所以如果皱眉不为所动,那么对不起。我也不在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).

所以,您去了。希望有帮助。

答案 2 :(得分:0)

补充@friism 的回答:

<块引用>

只需确保您的 shell 不会重写路径或类似内容。

这发生在我在 Windows 上的 Git Bash 中。在这种情况下,解决方案是在所有绝对路径前面加上一个额外的斜杠 (#main),以禁用 Git Bash 完成的自动路径重写。 (Source)