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 |