1、docker 默认用的是iptable(用户态)客户端工具管理的docker的filter,nat等。服务端是netfilter在内核态。iptable详细说明和使用方式见https://blog.csdn.net/Michaelwubo/article/details/80983718
2、iptable和firewall都是客户端防火墙管理和过滤工具(netfilter【过滤】和tcpwapper【管理】)。两者使用其一即可
3、如果systemctl start docker 在systemctl start firewalld 这样会把docker的规则破坏,主要是FORWARD规则破坏
以及链docker和docker-isolation破坏
所以都是先启动systemctl start firewalld 再启动systemctl start docker这样就不会破坏了。
4、假如就是先启动systemctl start docker再启动systemctl start firewalld的情况下,可以再修改vim /etc/sysconfig/docker
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --iptables=false'
参考https://blog.csdn.net/woodcutter_man/article/details/80547186
和https://www.jianshu.com/p/10c467600ef9
因防火墙策略导致docker加载iptables失败。因本身是docker间通信,所以不需要配置iptables,则在启动docker的时候关闭iptables。
解决:
修改/etc/sysconfig/docker里的OPTIONS增加--iptables=false,重启docker服务,再启动redis,顺利开启。
此时docker是可以run镜像的但是外部不能访问,需要开放端口
firewall开放端口参看https://blog.csdn.net/Michaelwubo/article/details/80998364