docker for Macでmysqlのコンテナだけ落ちるとき。socketファイル削除で復活

直近2回、docker for Macをアップデートしたところ2回ともmysqlのコンテナだけ立ち上がらない現象に悩まされました。

まず解決策

Docker for Macのダッシュボードを開いて、

メニューの中からVolumes > [mysqlのコンテナ名] とクリックします。

In Useタブ、Dataタブがあるので Dataタブを選択します。

docker for mac mysql container data

このなかでこの2ファイルを削除します。Macなら右クリックからのDeleteを選択

  • mysql.sock
  • mysql.sock.lock

 

これで、mysqlコンテナを立ち上げれば立ち上がります。

原因はsocketファイルが残っていて、mysqlを新しく立ち上げようとするときに、既にファイルがあるためにエラーになって落ちる、というもの。

mysqlコンテナのログを追ってみると見つかるけど、面倒くさければとりあえず、↑の2ファイルを削除してみてね。