当启用firewalld / iptables时,docker容器在同一主机上与容器通信的问题
这是我的configuration:
- 主机虚拟机是CentOS 7.1
- Docker版本是1.8.1
- 容器1 – >显示端口8071并运行Web服务
- 容器2 – >显示端口8081并运行前端Web应用程序
- firewalld已启用并正在运行
以下的工作 – (假设主机centos VM的IP地址是10.7.42.182)
-
当从客户机上的浏览器访问时, http://10.7.42.182:8071/确实连接到容器1中的Web服务
-
当从客户端机器上的浏览器访问时, http://10.7.42.182:8081/确实连接到容器2中的web应用程序
-
当我从容器2内部ping 10.7.42.182
-
容器1的IP地址是172.17.0.1。 当我从内部容器2 ping到172.17.0.1
-
当我从容器2中访问http://172.17.0.1:8071/时
以下不起作用 –
- 当我从容器2中访问http://10.7.42.182:8071/时
#
http://10.7.42.182:8071可以从我的客户端访问,但不能从另一个容器在同一主机上运行!
当我closuresfirewalld然后开始工作。
firewalld是如何在这里造成问题的? 即允许从外部连接而不是在容器内连接?
希望对可能发生的事情有任何提示。