LoginSignup
1
0

More than 1 year has passed since last update.

error while removing networkでDockerコンテナを終了できない時の備忘録

Posted at

概要

  • Dockerのコンテナを終了させようとした際に、Error response from daemon: error while removing network: network XXXXX id XXXXX has active endpointsというエラーが出て、docker networkの削除ができなかったのでその時の対処法を書き残しておく。

参考

Docker-composeのコンテナ実行中にファイルを書き換えてしまった場合

コンテナ実行中なのにも関わらず、ファイルを書き換えてしまいdocker-compose downをすると今回のエラーが発生することがある。その際には以下のコマンドを実行する。

docker-compose down --remove-orphans

--remove-orphansというオプションを付けることで、docker-composeによって作成されたコンテナ・ネットワークを自動で探して掃除してくれる。

上記で問題が解決しなかった場合は、下記手順を行ってみる。

コンテナの停止

docker stop [コンテナ名]

コンテナの削除

docker rm [コンテナID]

docker rm --force [コンテナID]
※うまくいかない場合は--forceオプションを付けてみる

ネットワーク削除

docker network rm [ネットワーク名]
※これには--forceのオプションがない

コンテナ接続情報をデタッチ

上記でネットワーク削除ができない場合、コンテナの接続情報が残ってしまっているのでそれを解除。
ネットワークの情報を取得するために下記コマンドを実行。(コンテナのIPアドレスを知りたいときになどもこのコマンドは便利なので覚えておくべき)
docker network inspect [コンテナ名]

以下のような情報が現れる

[
    {
        "Name": "test",
        "Id": "0f60b7b874f667e2c29b30f0d6867cd9e5de7a7f2cc401274aa9c5b3310f2ab0",
        "Created": "2022-12-05T18:22:24.028784023+09:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.25.0.0/16",
                    "Gateway": "172.25.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "af1f2d64b630a7642a96e9c52e35c9ee598826629aef6fc3a2c3876d937016de": {
                "Name": "test",
                "EndpointID": "607cd7bbaed54c0b301e0e8fe5e1a3dc1be4e62cef0471010485e9fcb978a91e",
                "MacAddress": "02:42:ac:19:00:02",
                "IPv4Address": "172.25.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {
            "com.docker.compose.network": "default",
            "com.docker.compose.project": "test",
            "com.docker.compose.version": "2.3.3"
        }
    }
]

このネットワークのコンテナ接続情報をデタッチするのに下記コマンドを実行。
docker network disconnect [ネットワーク名] [コンテナ名]

docker network disconnect --force [ネットワーク名] [コンテナ名]
※うまくいかない場合は--forceオプションを付けてみる

再びネットワーク削除

docker network rm [ネットワーク名]

最後に

ここまでやれば削除できるはず...

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0