【解決方法】docker networkを作成する際に発生するFailed to Setup IP tables(iptables failed)エラーの対処
この記事は公開されてから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のセットアップに失敗しているようです。
vbnetFailed 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
参考文献
著書
articleKubernetes で Pod が CrashLoopBackOff の原因と切り分け手順
articleRedis Docker Compose 構築:永続化・監視・TLS まで 1 ファイルで
articleDocker イメージ署名と検証:cosign でサプライチェーンを防衛する運用手順
articleDocker で DNS 解決に失敗する時の原因と対処:overlay2・systemd-resolved・WSL2 対応
articleDocker コマンド早見表:build/run/exec/logs/prune を 1 枚で網羅
articleDocker vs Podman vs nerdctl 徹底比較:CLI 互換性・rootless・企業導入の勘所
articleClaude Code と Codex を並列で動かしたときの動き: 同じファイルでも書き換えは消えない
articleClaude Code の Stop フックで、終わる前にテストを走らせる手順: 失敗が残ったまま終わらない
articleClaude Code と Codex のスキルの置き場所の動き: .claude/skills と .agents/skills は互いに読まない
articleClaude Code の /security-review で変更を点検する手順: origin/HEAD がないと止まる
articleClaude Code と Codex のスキルを入れる前に中身を確かめる手順: security-audit で見る5か所
articleCloudflare の security-audit スキルを Claude Code と Codex で比較: 3つとも見つけ、進め方に差
