iptablesの問題でdockerが起動できない障害

  • 3
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

インストールしたDockerを起動しようとすると、以下のようなエラーメッセージが出た。
メッセージの内容からすると、iptables関連の問題に見えていたが、実際にはコマンド云々の問題ではなかった。

Unable to enable network bridge NAT: iptables failed: iptables -I POSTROUTING
(続き) -t nat -s 172.17.42.1/16 ! -d 172.17.42.1/16 -j MASQUERADE: iptables: No chain/target/match by that name.
(exit status 1)
[9c5ad138] -job init_networkdriver() = ERR (1)
(exit status 1)
[9c5ad138] -job initserver() = ERR (1)
2014/09/01 17:02:44 (exit status 1)

原因としては、カーネルモジュールipt_MASQUERADEが不足しているそうで、

insmod /usr/local/src/linux-3.16.1/net/ipv4/netfilter/ipt_MASQUERADE.ko
とすれば、問題が解消した。

同様にxt_addrtype.koも必要ということで、
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
に変更してカーネルをビルドして、同様にinsmodする。

参考URL: https://github.com/docker/docker/issues/866