从Docker容器临时访问主机服务

时间:2019-12-16 15:02:36

标签: docker docker-compose

我正在开发一个在docker上具有3个服务的项目。每个容器上安装的每个服务。 当它们都在同一个网络上时,彼此之间相互交流完美,并且在docker-compose.yml文件中配置正确。

每个服务都使用其余的API相互通信::port。

这很完美,因为docker通过cobtainer名称\服务名称自动解析了每个容器的正确IP。

有时,我需要调试主机上的一项服务,而不是将其作为docker的一部分。因此,我将停止要调试的相关服务,并在主机上启动它(我们将其称为服务B),而服务A和服务C仍在泊坞窗中。在这种情况下:

服务B(现在在主机上)仍可以与http://serviceA:3000http://ServiceC:5000进行通信,但是服务A和服务C(都在docker上)无法与ServiceB(在主机上暂时与之通信)调试):http://serviceB:4000

我找到了解决方法,并且我正在更改服务A和服务C的配置文件,以使用http://host.docker.internal:4000而不是http://serviceB:4000来调用服务B,但是我可以不想记住一直在调试时更改配置文件,因为实际上我有50个服务,而不仅仅是3个。

有什么建议吗?

0 个答案:

没有答案