我正在尝试构建一个可以控制Docker托管在Docker上的Dockers容器的应用程序。
该应用程序建立在docker-java库之上,它工作正常。
我试图在docker上托管这个应用程序。托管还可以。问题是,当应用程序尝试连接到tcp:// localhost:2375以访问docker的api时,连接失败。
这显然是因为容器中的localhost不再引用安装了Docker for Windows的实际主机。
所以我使用显式IP地址从容器访问docker的api(tcp://192.168.0.10:2375),连接也被拒绝了!
我停止了防火墙,但问题仍然存在。
我搜索了它,然后我意识到我必须定义“hosts”配置变量,以使用主机的显式IP地址使docker的api可访问。但是当我尝试设置“hosts”配置变量时,docker说:“hosts”:不能在Docker for Windows中使用
那么这是否意味着Docker for Windows无法托管可以访问其API的容器?
虽然我对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访问主机,如下面建议的评论。