Error response from daemon: Pool overlaps with other one on this address space が出たら (docker system prune でもダメな場合)

新しい環境で docker compose up -d –build したところ、

 ✘ Network xxxxxxxx  Error                                                                                 0.0s 
failed to create network xxxxxxxx: Error response from daemon: Pool overlaps with other one on this address space

のエラーで動かない。(“xxxxxxxx” はネットワーク名)

これはネットワークが重複しているので新規に作れないということらしい。ググると大体のサイトに

$ docker system prune

上記コマンドで使っていないネットワークを削除すると動くようになるとの記述があるが、私の環境ではこのコマンドを何度実行しても冒頭のエラーとなり、動かなかった。

今回の私の環境は若干特殊でコンテナ一つ一つに下記のように固定のIPアドレスを振っている。

    networks:
      xxxxxxxx:
        ipv4_address: 172.20.0.1

ということで、ネットワーク名ではなくIPアドレスの重複が原因ではないか。(参照)

そこで、現在のネットワークインタフェース状態を確認。

$ ip addr | grep 172.20

すると

inet 172.20.0.1/16 brd 172.20.255.255 scope global br-abcdefxxxx

のように、確かに既に172.20.0.1が使われているようである。dockerのネットワークを確認する。

$ docker network ls
NETWORK ID     NAME             DRIVER    SCOPE
abcdefxxxx   docker_default           bridge    local

上記のように、NETWORK ID が一致する行が見つかった。docker_defaultということで気になるがとりあえずこのdockerネットワークを削除しようとするが、利用中ということで削除できず。

error while removing network: network docker_default id xxxxxxxxxxxx has active endpoints

docker ps してみると、別件のテストで作ったコンテナのみが docker_default を使っているようなのでこのコンテナを docker rm した後、

$ docker network rm abcdefxxxx

を実行。ここで、docker compose up -d –build すると問題なく環境構築が完了した。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA