当docker-demon启动时,它会向iptables添加一些规则。当通过iptables -F我删除所有规则时,必须停止并重新启动docker demon以重新创建dockers规则。
iptables -F
有没有办法让docker重新添加其他规则?
最好的方法是重启docker服务,然后将docker规则重新添加到iptables中。(上DEB基:sudo service docker restart)
sudo service docker restart
但是,如果您只想恢复这些规则而无需重新启动服务,我保存了我的信息,以便您可以检查并对其进行调整以适合您,然后使用 sudo iptables- restore ./iptables-docker-ports.backup
sudo iptables- restore ./iptables-docker-ports.backup
编辑并保存到 ./iptables-docker-ports.backup
./iptables-docker-ports.backup
# Generated by iptables-save v1.4.21 on Thu Apr 30 20:48:42 2015 *nat :PREROUTING ACCEPT [18:1080] :INPUT ACCEPT [18:1080] :OUTPUT ACCEPT [22:1550] :POSTROUTING ACCEPT [22:1550] :DOCKER - [0:0] -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER -A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER -A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE -A POSTROUTING -s 172.17.0.1/32 -d 172.17.0.1/32 -p tcp -m tcp --dport 80 -j MASQUERADE -A DOCKER ! -i docker0 -p tcp -m tcp --dport 3001 -j DNAT --to-destination 172.17.0.1:80 COMMIT # Completed on Thu Apr 30 20:48:42 2015 # Generated by iptables-save v1.4.21 on Thu Apr 30 20:48:42 2015 *filter :INPUT ACCEPT [495:53218] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [480:89217] :DOCKER - [0:0] -A FORWARD -o docker0 -j DOCKER -A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -i docker0 ! -o docker0 -j ACCEPT -A FORWARD -i docker0 -o docker0 -j ACCEPT -A DOCKER -d 172.17.0.1/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 80 -j ACCEPT COMMIT # Completed on Thu Apr 30 20:48:42 2015