Docker与防火墙的秘密

Docker会接替iptables的规则,当Docker run的时候会默认在iptables中进行配置,保存规则也会生效
但是!如果系统中firewalld没有关闭的话就会造成重启后规则不生效

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#将firewalld换成iptables
#查看firewalld是否启用
systemctl status firewalld
#停止firewalld
systemctl stop firewalld
#禁用firewalld(否则重启系统后会再次启动)
systemctl disable firewalld
#查看是否安装iptables
yum list installed | grep iptables-services
#如果没安装则安装下
yum install iptables-services -y
#重启iptables
systemctl restart iptables
#设置开机自启
systemctl enable iptables
#重启docker
systemctl restart docker

添加端口

1
2
#9411是端口号
/sbin/iptables -I INPUT -p tcp --dport 9411 -j ACCEPT

保存规则

1
iptables-save > /etc/sysconfig/iptables

重新加载配置文件里的规则

1
iptables-restore < /etc/sysconfig/iptables