Docker 启动时报错:iptables:No chain/target/match by the name

前言

最近想线上折腾docker,容器需要开放端口,但是启动总是报错如题错误,下面记录下解决办法

解决

docker 服务启动的时候,docker服务会向iptables注册一个链,以便让docker服务管理的containner所暴露的端口之间进行通信

通过命令iptables -L可以查看iptables 链

在开发环境中,如果你删除了iptables中的docker链,或者iptables的规则被丢失了(例如重启firewalld),docker就会报iptables error例如:failed programming external connectivity … iptables: No chain/target/match by that name

要解决这个问题,只要重启docker服务,之后,正确的iptables规则就会被创建出来

总结

万能的重启大法,重启docker服务即可

1
systemctl restart docker