今天docker启动redis时发现docker出错了,iptables报错,没法启动docker。因为之前有关闭了防火墙。
产生原因分析:
docker 服务启动的时候,docker服务会向iptables注册一个链,以便让docker服务管理的containner所暴露的端口之间进行通信
通过命令iptables -L可以查看iptables 链。
在开发环境中,如果你删除了iptables中的docker链,或者iptables的规则被丢失了(例如重启firewalld),docker就会报iptables error例如:iptables: No chain/target/match by that name
解决办法:
重启docker服务,之后,正确的iptables规则就会被创建出来