docker 对于 windows 如何从容器访问 docker 守护进程

docker for windows how to access docker daemon from container

Im 运行 Docker Windows (hyper V) 桌面,我需要从通过 tcp 的容器。可以从主机连接到它,例如: curl -v 127.0.0.1:2375/info 但无法使用我的主机 IP 地址从容器访问它。也许有人知道如何做到这一点,或者至少知道如何通过 ssh 连接到 docker 虚拟机,例如,可以通过执行以下命令在 mac 上通过 ssh 连接到它: screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty

我已经想出如何使用 socat 工具来做到这一点,该工具需要 docket.socket 并代理 TCP 调用。

所以我启动了带有 socat 的容器,它挂载 docker.sock 因为它在 VM 内部可用并公开 2375 端口:

docker run -p 2375:2375 -v /var/run/docker.sock:/var/run/docker.sock codenvy/socat -d -d TCP-L:2375,fork UNIX:/var/run/docker.sock

现在,我可以通过 socat 容器访问 docker 守护进程 API。