默认的CentOS 8防火墙设置似乎阻止了同一docker网络中两个容器之间的路由。我发现了一个相关的问题here,但是该解决方案对我不起作用。泊坞窗组成nginx容器后,ip为172.19.0.2
# docker-compose.yml
version: "3"
services:
nginx:
image: "nginx"
expose:
- "80"
networks:
- "testnet"
networks:
testnet:
driver: "bridge"
尝试将其连接到testnet并将其连接到busybox容器失败。
busybox-container$ nc -v 172.19.0.2:80
nc: 172.19.0.2:80 (172.19.0.2:80): No route to host
busybox-container$ ping -c1 172.19.0.2
...
1 packets transmitted, 1 packets received, 0% packet loss
busybox-container$ ping -c1 nginx
Ping: bad address 'nginx'
在停止firewalld并重新启动docker服务nc
似乎可以正常工作之后,解析不起作用。在Arch-Linux系统上,可以按预期工作。
我认为这是防火墙造成的问题,那么如何正确配置防火墙/ iptables?