Error response from daemon: Cannot start container ···-i docker0: iptables: No chain/target/match by

 方法一:

参考:https://blog.youkuaiyun.com/qq_14853889/article/details/79678406

通过分析异常信息,发现是因为在进行原地址到目标地址转换的时候没有在docker主机的iptables规则中找到nat表规则,只有filter表规则。
在filter表上面增加nat表配置规则信息,需要说明的是docker容器的网段是172.17.0.0/16,另外需要注意filter表中也要有docker链的相关配置。

到这时候我们才开始准备解决题目的问题:
打开IPtables 文件 加入如下配置: 注意:并不是覆盖而是加入;在原有的*nat 和*fileter下面 加入这边的一些配置规则;分别在原有的规则最后加就可以;可以把我下面列出来的规则直接复制过去 ; 关于这个配置 ;也可参见微博:docker 启动报错

*nat
:PREROUTING ACCEPT [27:11935]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [598:57368]
:POSTROUTING ACCEPT [591:57092]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
COMMIT  
# Completed on Sun Sep 20 17:35:31 2015
# Generated by iptables-save v1.4.21 on Sun Sep 20 17:35:31 2015
*filter
:INPUT ACCEPT [139291:461018923]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [127386:5251162]
:DOCKER - [0:0]
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
COMMIT  
# Completed on Sun Sep 20 17:35:31 2015

 完成后重启一下 iptables ; docker 再run 镜像的时候 便不会报错

方法二:

[root@git local]# docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:2.1.1
9c9af45a7a7cb2d8e5f34b9dc653c38127e7baba4aed8580985a156946d896b4
Error response from daemon: Cannot start container 9c9af45a7a7cb2d8e5f34b9dc653c38127e7baba4aed8580985a156946d896b4: 
iptables failed: iptables -t nat -A DOCKER -p tcp -d 0/0 --dport 800 -j DNAT --to-destination 172.17.0.6:5000 ! -i docker0: iptables: No chain/target/match by that name.
 (exit status 1)

解决办法:重建docker0网络恢复

依次执行下面的命令:

pkill docker 

iptables -t nat -F 

ifconfig docker0 down 

brctl delbr docker0 (网桥操作)

docker -d 

service docker restart
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值