启动docker容器时报错:iptables: No chain/target/match by that name.

具体报错:
[root @centos72 ~]# docker run -itd -v /data/drug_app_logs:/root/drug/logs —storage-opt size=30G -p 5001:22 -p 8989:8080 drug_app:latest /usr/sbin/sshd -D
b95132b92ec379e458d2e968eb78e642d57ed9bb895052f38992d839f35704e6
docker: Error response from daemon: driver failed programming external connectivity on endpoint adoring_lamport (ea38c59bb95348ac62a87bb4e0a41436ed64d67784312b020a21c4bc273fd859): (iptables failed: iptables —wait -t nat -A DOCKER -p tcp -d 0/0 —dport 8989 -j DNAT —to-destination 172.17.0.2:8080 ! -i docker0: iptables: No chain/target/match by that name.
(exit status 1)).

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

然后想起刚刚把防火墙关了,造成了docker chain的变动,因此报错。

解决方法:
systemctl restart docker

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25465866/viewspace-2637271/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25465866/viewspace-2637271/

你可能感兴趣的:(启动docker容器时报错:iptables: No chain/target/match by that name.)