当docker-demon启动时,它向iptables添加了一些规则。 当通过iptables -F
删除所有规则时,我必须停止并重新启动docker恶魔以重新创建dockers规则。Docker:如何重新创建dockers额外的iptables规则?
有没有办法让码头重新添加它的附加规则?
当docker-demon启动时,它向iptables添加了一些规则。 当通过iptables -F
删除所有规则时,我必须停止并重新启动docker恶魔以重新创建dockers规则。Docker:如何重新创建dockers额外的iptables规则?
有没有办法让码头重新添加它的附加规则?
最好的办法是重新启动你的docker服务,然后它会重新添加你的docker规则到iptables。 (上DEB-基于:sudo service docker restart
)
但是,如果你只是想恢复这些规则,无需重新启动您的服务,我也救了我,所以你可以检查,并调整它为你工作,然后加载使用sudo iptables-restore ./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
如果您在主机上运行Ubuntu,则可以使用iptables-save
实用程序在启动docker守护进程后将iptables规则保存到文件。然后,一旦冲洗旧规则,您可以简单地使用已保存的规则文件恢复原始码头规则。
如果您不想恢复所有旧的iptables规则,则可以更改已保存的规则文件以仅保留您需要的规则文件。
如果您正在运行另一个操作系统,您可能会找到类似的选择。
非常感谢,它是我找到默认docker配置来重置我的iptables规则的唯一职位,非常完美! – meucaa 2017-06-20 13:16:22