【解決方法】docker networkを作成する際に発生するFailed to Setup IP tables(iptables failed)エラーの対処

DockerUnixエラー解消
【解決方法】docker networkを作成する際に発生するFailed to Setup IP tables(iptables failed)エラーの対処
Memo
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

docker networkを作成する際に発生するFailed to Setup IP tablesエラーの対処についてメモしました。

エラーが発生した経緯

新しくVPS環境を構築したのですがそこで複数のDockerのアプリケーションを動作させたく
nginx-proxyを使うためのnetworkを作成しようと試みたのですがその際にエラーが発生しました。

環境

  • Ubuntu 20.04.2
  • Docker 20.10.2, build 20.10.2-0ubuntu1~20.04.2

発生したエラー

実行ログ

docker network createコマンドを実行したログになります。

terminal
$ docker network create -d bridge nginxproxy_default Error response from daemon: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-7f09bd6938e1 -j RETURN: iptables: No chain/target/match by that name. (exit status 1))

iptablesのセットアップに失敗

エラーの内容をみる限りiptablesのセットアップに失敗しているようです。

Failed to Setup IP tables: Unable to enable SKIP DNAT rule

エラーの原因

起動順序の問題でiptablesはDockerデーモンの前に起動しなければならないようで
おそらくDockerデーモンが先に起動されたことでエラーになっていました。

Dockerを再起動して解決

すでにiptablesは起動しているためDockerを再起動することで解決しました。

systemctlコマンドでDockerを再起動

systemctlコマンドでDockerを再起動します。

terminal
$ sudo systemctl restart docker

参考文献

終わりに

最後までご覧いただきありがとうございます。
この記事では【解決方法】docker networkを作成する際に発生するFailed to Setup IP tables(iptables failed)エラーの対処について紹介させていただきました。

これからも皆様の開発に役立つ情報を提供していきたいと考えています。
今後ともよろしくお願いいたします。