我正在使用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
答案 0 :(得分:0)
如果我已经阅读了您的问题,那么您的本地和主机不是同一台机器。在这种情况下,您无法(除非您已在localhost:8099上设置隧道)能够使用localhost访问主机上的模拟器服务,因为它将解析为您的本地IP(在本地)机)。
您需要做的是确保两台机器可以相互通信并使用主机IP而不是localhost。