问题发生描述
Linux下修改了一些iptables的配置,然后重启了一下iptables,再去启动/重启docker container的时候,报错:
Error response from daemon: Cannot start container <container_id>: iptables failed: iptables --wait -t filter -A DOCKER ! -i docker0 -o docker0 -p tcp -d 172.17.0.1 --dport 80 -j ACCEPT: iptables: No chain/target/match by that name.
(exit status 1)
原因是docker启动后,会往iptable下写入一些规则,这些规则是docker容器运行所必须的,而我们iptables重启后,一些规则就没有了(例如DOCKER-USER/DOCKER),所以报错
解决方案
重启一下service: docker,这样iptables规则就重写了
systemctl restart docker # 为了防止下次再去重启iptables导致docker container又无法启动,可以把iptables配置写入配置文件 iptables-save > /etc/sysconfig/iptables
文章评论