从容器访问Docker API

时间:2018-09-04 21:34:20

标签: java docker docker-api

我正在尝试构建一个可以控制Docker托管于Windows的Dockers容器的应用程序。

该应用程序基于docker-java库构建,并且运行良好。

我试图在Docker本身上托管此应用程序。托管还可以。问题是,当应用程序尝试连接到tcp:// localhost:2375以访问docker的api时,连接失败。

这显然是因为容器中的localhost不再是指安装Docker for Windows的实际主机。

所以我使用了明确的IP地址来从容器(tcp://192.168.0.10:2375)访问docker的api,连接也被拒绝了!

我停止了防火墙,但问题仍然存在。

我搜索了它,然后意识到我必须定义“主机”配置变量,以使用主机的显式IP地址访问docker的api。 但是当我尝试设置“主机”配置变量时,码头工人说: “主机”:不能在Windows的Docker中使用

那么这是否意味着在Windows的Docker上无法托管可以访问其api的容器?

1 个答案:

答案 0 :(得分:0)

尽管我对Windows上的Docker不太熟悉,但是我在Docker网站上找到了一些介绍。请在下面尝试。

I WANT TO CONNECT FROM A CONTAINER TO A SERVICE ON HOST.

但是我强烈建议您放弃Windows上的Docker。

已编辑:2018-9-5 19:55
根据以下建议,使用 host.docker.internal 访问主机。