Dockerで急にPostgreSQLが立ち上がらなくなってRailsのDB接続エラーが出た

ネクストコナンズヒント!

プルーン

服部

何もしてないのに壊れるなんてことはないわけですが、エラーは時に前触れなく表示されるものです。
エラー画面を覗いている時、エラー画面もまたこちらを覗いているのだ

さて、Railsエラーが出たのでpsでコンテナの状況を確認。

$ docker-compose ps
app3001   /bin/sh -c rm -f ./tmp/pid ...   Up      0.0.0.0:3001->3001/tcp,:::3001->3001/tcp
db5432    docker-entrypoint.sh postgres    Restarting      0.0.0.0:5432->5432/tcp,:::5432->5432/tcp

statusがRestartingです。
Docker DesktopでDBコンテナを見てみると

ロックファイル"postmaster.pid"に書き出せませんでした: デバイスに空き領域がありません

ほーん・・・・マ?pid?接続数大杉的なやつ?

(^ν^)??

現実から逃れるためにいったん再起動します。resartでもいいと思うよ。

$ docker-compose down
$ docker-compose up -d

変化なかったのでdown -vしました。運用中のコンテナではお控えください。

あかん。それでもまだ空き容量言うてはるわ。こわいわー

ディレクトリ"/var/lib/postgresql/data/pg_wal"を作成できませんでした。: デバイスに空き領域がありません

こういうときはpruneしましょう。

$ docker system prune

古いスペースデブリ的なやつが45GB占領してました。
PostgreSQLコンテナも立ち上がりました。
よかったよかった🏆

公開日