
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を再起動するのは面倒ですが、もし同じ症状でお困りの方がいらっしゃったらご参考までに。
Be the first to comment