如果使用的是 iptables
防火墙,只需要在/etc/docker/daemon.json
添加
{ "iptables": false }
firewalld
与ufw
的操作有些不同
#ubuntu(ufw)操作为 vim /etc/default/ufw DEFAULT_FORWARD_POLICY="ACCEPT" vim /etc/ufw/before.rules #在`*filter`前面添加下面内容 *nat :POSTROUTING ACCEPT [:] -A POSTROUTING ! -o docker0 -s 172.17.0.0/ -j MASQUERADE COMMIT #对应 CentOS(firewalld)上操作为: firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD_direct -i eth0 -j ACCEPT #eth0 为宿主机网卡名 firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD_direct -o eth0 -j ACCEPT firewall-cmd --reload #默认 docker0 在 public zone 里 firewall-cmd --zone=public --add-masquerade firewall-cmd --reload