dockerイメージを更新してリスタートしようとしたら、以下のエラーが発生しました。
ERROR: for xxx You cannot remove a running container b0f9049739ac6c4b178e673d25ac295a6291f3d957905148e98e35cce1571163. Stop the container before attempting removal or use -f |
どうやら前のdockerが残ってて停止できないようです。「docker ps」で確認したら、2つが動いてます。
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b0f9049739ac xxxx:dev-53e52afc20cc7c382eb221a9db742ccc618dd227 "/opt/docker/bin/i..." 3 minutes ago Up 3 minutes xxxx ff76c3ef8849 xxxx:dev-8d5447725fd6b306ed91a5cd41e720b343e219dd "/opt/docker/bin/i..." 26 hours ago Up 26 hours ff76c3ef8849_xxxx |
もう強制削除しかないので、-fをつけて強制削除してみました。
# docker rm -f <コンテナID> docker rm -f b0f9049739ac docker rm -f ff76c3ef8849 |
これで起動できるだろうと思って、「docker up -d」をうったら、今度更にエラーが出た。。。。(汗!!!)
$ docker-compose up -d Creating xxxx ... error ERROR: for xxxx Cannot start service xxxx: service endpoint with name xxxx already exists |
古いコンテナのEndpointが残っています。
エンドポイントを調べたいですが、ネットワーク名は分からない、一覧を出してみます。
#docker network ls NETWORK ID NAME DRIVER SCOPE 62d8386207b3 bridge bridge local 9d62029db27f host host local 8dd261f6a3cf none null local |
hostが一番あってそうなので、中身をチェックしてみることにしました。
$ docker network inspect host [ { "Name" : "host" , "Id" : "9d62029db27ffc982d0bedaebe2ba6de3b84c1f57ecefbf74c6228a9f5436c86" , "Created" : "2018-05-21T19:36:40.649319874+09:00" , "Scope" : "local" , "Driver" : "host" , "EnableIPv6" : false, "IPAM" : { "Driver" : "default" , "Options" : null, "Config" : [] }, "Internal" : false, "Attachable" : false, "Containers" : { "19c8189cbc9cc7411236bda85e3a085ea8a1018496b95f06a65e3139ab89361b" : { "Name" : "xxxx" , "EndpointID" : "b4f737bbf643f8da34f16718cfac0866754de3f72363cf9034a7d4f102ab9fa5" , "MacAddress" : "" , "IPv4Address" : "" , "IPv6Address" : "" }, (略) }, "Options" : {}, "Labels" : {} } ] |
見事に古いコンテナを見つけました。削除します。
#docker network disconnect -f <network name> <container name> docker network disconnect -f host xxxx |
もう一回「docker up -d」をうったら、無事に復旧できました。
0 件のコメント:
コメントを投稿