0

我正在尝试构建一个可以控制 Docker for windows 上托管的 docker 容器的应用程序。

该应用程序构建在 docker-java 库之上,并且运行良好。

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

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

于是我用显式IP地址从容器(tcp://192.168.0.10:2375)访问docker的api,连接也被拒绝了!

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

我搜索了它,然后我意识到我必须定义“主机”配置变量才能使用主机的显式 IP 地址来访问 docker 的 api。但是当我尝试设置“hosts”配置变量时,docker说:“hosts”:Cannot be used in Docker for Windows

那么这是否意味着 Docker for Windows 上没有办法托管可以访问其 api 的容器呢?

4

1 回答 1

0

虽然我对 Windows 上的 Docker 不太熟悉,但我在 docker 网站上找到了一些介绍。只需在下面尝试。

我想从容器连接到主机上的服务。

但我强烈建议你在 Windows 上放弃 Docker。

编辑:2018-9-5 19:55
使用host.docker.internal访问主机,如下面的评论建议。

于 2018-09-05T01:35:36.830 回答