Dockerのコンテナを強制終了させる方法

Dockerコンテナの強制削除

MySQLデータベースのコンテナが停止してくれない

Dcokerのコンテナ起動がうまくいかなくなったときの状況です。前回起動したコンテナがきちんと停止せず残っているようなので、強制終了しようと考えたわけだ。

ERROR: for db-dl  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=70)
ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60).

コンテナIDを指定して強制削除し終了させる

docker ps」のコマンドでコンテナIDを調べます。

$ docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED        STATUS        PORTS                                                  NAMES
650810b40446   mysql:latest   "docker-entrypoint.s…"   22 hours ago   Up 21 hours   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   db-dl

一番左の「CONTAINER ID」の値をコピーしておく。

そして下記の【コンテナID】のところへ先ほどコピーした値をセットする。

「docker rm」参考:Dockerコンテナ削除の方法

docker rm --force 【コンテナID】
$ docker rm --force 650810b40446

これでうまくいくと思ったら、ターミナル上の処理が進まずの状態になってしまう。

再度強制削除実行してみたがレスポンスは「進行中」とのこと。

Error response from daemon: removal of container 650810b40446 is already in progress
docker kill 650810b40446

killで試しましたが応答すらなくなりました。

仕方なくMac自体を再起動することにしました。

Mac再起動後起動してみることに

$ docker-compose up -d
Removing app-dl
Removing nginx-dl
Recreating db-dl                       ... done
Recreating 300c94df9886_app-dl         ... done
Starting scraping-api_mailcatcher-dl_1 ... done
Recreating f4d92d47306e_nginx-dl       ... done
Recreating phpmyadmin-dl               ... done

無事に起動することができました。おそらくdocker rmの時点で既に強制削除はされていたのでしょう。

わざわざMacを再起動するのは面倒ですが、もし同じ症状でお困りの方がいらっしゃったらご参考までに。

 

About Naoki 24 Articles
デザインを含めたフロントエンドから、インフラ含めたバックエンドまで広く浅く活動しているエンジニアです。主にSaasの開発・営業・運営管理などをしております。毎日デスマーチがモットーなブラックエンジニアです。 私が管理しているクラウドソフトウェアがこちらです→まとめツール倶楽部『MTCsystem』

Be the first to comment

Leave a Reply

Your email address will not be published.


*


CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)