问题:jenkins的docker containner启动失败,报错:failed programming external connectivity … iptables: No chain/target/match by that name”

解决:百度了好多,有说没有iptables的mod的,等等,直觉搞得有点复杂,不是解决问题之法,因为之前是好用的,之前就没有这个模块,所以判定不是这类问题

最终:bing上搜索到一篇英文,完美又简单解决了问题,现翻译如下,具体其他需要深入了解的深层概念,待有时间再行添加

 

正文:

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规则就会被创建出来

引用链接: 

遗留学习:

1. iptables 链是什么,链怎么创建

2. 为什么重启docker就可以创建docker的链

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐