我试图从容器内控制主机泊坞窗服务。
使用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)。
但显然我没有回复端口2375
或2376
,我检查了类似的内容:
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
组合。
答案 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)