Docker run启动容器报错 : iptables fail

2024-08-22  本文已影响0人  极简架构

Docker启动容器报错 iptables failed

Docker run启动容器报错 : iptables failed docker0 iptables: No chain/target/match by that name

原因

docker 服务启动的时候,docker服务会向iptables注册一个链,以便让docker服务管理的containner所暴露的端口之间进行通信
如果你删除了iptables中的docker链,或者iptables的规则被丢失了(例如重启firewalld),docker就会报iptables error例如:failed programming external connectivity … iptables: No chain/target/match by that name

fix方案

清空下ipables规则,重启docker 重新生成iptables规则链即可

要解决这个问题,只要重启docker服务,之后,正确的iptables规则就会被创建出来
# 查看iptables 链
iptables -L
# 查看启动容器名称: 如果正常启动docker容器会生产iptables转发规则链
#iptables -L | grep 容器名称 

#清空(删除)iptables过滤表中的所有规则
iptables -t filter -F
#删除指定表中的所有链(如INPUT、OUTPUT、FORWARD)
iptables -t filter -X
# 重启docker服务
systemctl restart docker
上一篇 下一篇

猜你喜欢

热点阅读