微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Centos 7 docker 启动容器 iptables 报 No chain/target/match by that name

启动一个有 nat 映射端口的容器时,iptables 报 No chain/target/match by that name

找了N多网站和官方issue后,还是没找到真正的解决方法,网上到处转载的只是分析了原因,并没有明确的解决方案,为此与同事通宵加班终于解决了这个问题。

找到系统的/etc/sysconfig/iptables,如果没有用以下命令保存一下,然后查看里边的内容

发现内容如下

查看启动容器的报错信息发现-A DOCKERDOCKER链,但在iptables文件里并没有找到,

由于之前在自己的系统(archlinux)学习使用docker时并没遇到这问题,

所以马上去看了下自己系统里的iptables的文件

内容如下

对比后以去掉不相关的规则,以现*nat规则里有以下的对于docker的配置

*filter规则里对docker的配置如下

去掉不相关规则后的配置文件如下(可以直接用):

然后再加上自己服务器的过滤规则,合并后覆盖到Centos 7的/etc/sysconfig/iptables文件

重启iptables 服务

两次启动对应docker容器,

发现容器启动成功,虽然有警告,但并不影响容器的使用

相关推荐:http://blog.csdn.net/fwj380891124/article/details/53023245

     http://blog.jobbole.com/98869/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。