Docker for macで起動したmysqlコンテナでInnoDBのエラーが出る/「No space left on device」みたいなエラーが発生する場合の対処法

シェアする

ヨメレバCSS

 Docker for macで開発をしているときに、急にmysqlのコンテナが起動しなくなってしまったことがありました。

 環境はDokcer for mac 18.06.0-ceです。

スポンサーリンク
GoogleAdSence レクタングル(大)

Volumeの使いすぎでホストOSの容量が不足したっぽい

 docker-compose upしようとすると次のようなエラーが出て止まってしまいます。

 コンテナを消してやり直したりしていると、「no space left on device」といったエラーも混ざってきていました。

 Dockerコンテナに入ってみると、ルートディレクトリが100%でした。

 どうも、Dockerコンテナが乗っているほうがいっぱいになってしまったみたい。

Volumeを掃除して解決する

 これは不要なコンテナを削除してみても、解決できませんでした。

 Dockerのディスク使用状況がdocker system dfで確認できるようなので行ってみます。

 Volumesがだいぶ占めていますがコンテナも不要です。なので両方消してみました。

 docker container pruneで使用していないコンテナを削除、docker volume pruneでコンテナに紐付いていないVolumeを削除しました。

 しかし、この状態からdocker-compose upしてみると、まだmysqlがこけます。

 どうもcontainer pruneで消えてくれなかったようなので、docker-compose rmでコンテナを消してやります。

 その後、docker-compose upで起動すると、うまく動いてくれました。

参考:

スポンサーリンク
GoogleAdSence レクタングル(大)