docker for windows如何从容器访问docker守护进程 [英] docker for windows how to access docker daemon from container

查看:523
本文介绍了docker for windows如何从容器访问docker守护进程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我运行docker for windows(hyper V),我需要通过tcp从容器访问docker守护程序。可以从主机连接到它,如:
curl -v 127.0.0.1:2375/info 但不可能使用我的容器访问它主机IP地址。也许有人知道如何做到这一点,或至少如何ssh到该docker vm,例如可以通过执行以下命令来执行:
screen〜/ Library / Containers / com.docker.docker / Data / com.docker.driver.amd64-linux / tty

解决方案

我已经想到如何使用 socat 工具,它承担了docket.socket和代理TCP调用。



所以我已经启动了一个包含 socat 的容器,它装载了$ code> 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。


Im running docker for windows (hyper V) and I need to access docker daemon from the container via tcp. It is possible to connect to it from the host like: curl -v 127.0.0.1:2375/info but not possible to access it from a container using my host IP address. Maybe someone knows how to do that or at least how to ssh to that docker vm, for example it is possible to ssh in to it on mac by executing: screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty

解决方案

I've figured how to do that using socat tool which takes docket.socket and proxy TCP calls to it.

So I've launched container with a socat which mount docker.sock since it is available inside of a VM and expose 2375 port:

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

With that now, I'm able to access docker daemon API through socat container.

这篇关于docker for windows如何从容器访问docker守护进程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆