从主机上的微服务连接到docker-composenetworking

我有一个docker-compose.yml与几个在我的本地机器上执行的spring云微服务。 但是我想在本地machain上执行一个微服务,而不是在docker中。 这个微服务可以访问de外部docker ip,但是不能访问“eureka”已经注册的内部IPS。 我尝试(不成功)部署一个OpenVPN泊坞窗。 有什么更好的解决scheme,只在Dockernetworking中开发一个微服务?

不幸的是,docker-compose是一个只能用于docker的工具。 如果你只需要运行和pipe理微服务应用程序,你可以search一些其他的解决scheme,如监督等。

但是,如果我正确地理解你的情况,那么你有本地计算机(IP为例如192.168.100.1)和一个运行在docker的微服务(它自己的dockernetworkingIP,如172.17.0.2)。 在本地计算机上,还运行另一个服务,例如侦听端口1234.而您需要访问服务,该服务在内部IP为172.17.0.2的Docker容器中侦听192.168.100.1:1234。 在这种情况下,你只需要在docker中启动你的microservice并使用端口公开( https://docs.docker.com/compose/compose-file/#ports )。 在这种情况下,您可以运行Docker容器,例如将端口1234暴露给主机上的同一个端口1234,就这些了。 所有在192.168.100.1:1234和172.17.0.2:1234之间的stream量都将被透明地传递,所以你可以在你的运行容器里面使用docker的目标IP(通常是172.17.0.1,你可以通过在本地机器上运行ifconfig来检查实际值并检查networking接口docker0)和端口1234

docker0 Link encap:Ethernet HWaddr 02:42:B1:B5:7B:53 inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0