docker启动容器报错:iptables failed

问题描述:

启动Docker容器的时候,发现了一个很奇葩的现象:
iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9100 -j DNAT --to-destination 192.168.0.4:9100 ! -i docker0: iptables: No chain/target/match by that name.

服务器环境:

  • CentOS Linux release 7.2.1511 (Core)
  • iptables防火墙

过程

各种google和百度,大家说的很邪乎,也试过了,不好使。
后来不知怎么鼓捣了一下又好了,琢磨了一下,过程是这样:

  1. 现在服务器Docker服务正在运行中。
  2. 我要启动一个容器,比如elasticsearch的一个插件,需要用到9100端口,然后我修改iptables配置文件,打开9100端口,然后重启iptables服务。
  3. 这个时候,我运行docker run -p 9100:9100 mobz/elasticsearch-head:5,就会提示上面的错误。
  4. 此时,我如果重启一下Docker服务,然后在运行启动容器的命令,顺利启动了。

总结:

这当中的原因,还需要深入的研究下,因为现在水平精力有限,先记录一下。

你可能感兴趣的:(docker启动容器报错:iptables failed)