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

Pet*_*erE 6 linux windows docker

我正在尝试从容器内部控制主机 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(泊坞窗的IP VM), 172.17.0.1:2375(集装箱IP)和0.0.0.0:2375以及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组合有关。

fri*_*ism 5

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

  • OMG,这当然是我从未尝试过的唯一变体,因为我们都知道 Windows 没有`/var/run/docker.sock`。在后面很明显,因为 docker 主机确实在 VM 中运行,而不是在 Windows 本身中运行。感谢您为我指明正确的方向。也许此时应该扩展 docker for windows 文档。 (2认同)