Docker连接到主机端口上的模拟服务

时间:2016-07-01 17:37:35

标签: docker soapui

我正在使用docker在我的本地计算机上运行我的Web应用程序,并且我已经在主机上使用SoapUI创建了模拟Web服务。

模拟服务可通过localhost:8099和IP 127.0.0.1:8099(使用telnet)访问,但我无法通过运行docker容器访问它。

我已经阅读了一些关于通过

发现主机IP地址的文章
ip addr show docker0

结果:

5: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:e3:36:43:5b brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:e3ff:fe36:435b/64 scope link 
       valid_lft forever preferred_lft forever

当我尝试从docker容器ping IP 172.17.0.1时,我收到回复就行了,但是当我尝试从我的网络应用程序调用模拟的Web服务时,我得到了回复No route to host

我还尝试使用iptables -A INPUT -i docker0 -j ACCEPT修改iptables但没有成功。

我还缺少其他任何设置吗?

感谢任何帮助。

谢谢,shimon

1 个答案:

答案 0 :(得分:0)

如果我已经阅读了您的问题,那么您的本地和主机不是同一台机器。在这种情况下,您无法(除非您已在localhost:8099上设置隧道)能够使用localhost访问主机上的模拟器服务,因为它将解析为您的本地IP(在本地)机)。

您需要做的是确保两台机器可以相互通信并使用主机IP而不是localhost。