docker

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

More than 3 years have passed since last update.

インストールした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