docker-compose up
を実行した時以下のエラーが出力されてPostgreSQLのコンテナが起動しない現象があった。
db | LOG: invalid primary checkpoint record
db | LOG: invalid secondary checkpoint record
db | PANIC: could not locate a valid checkpoint record
db | LOG: startup process (PID 22) was terminated by signal 6: Aborted
db | LOG: aborting startup due to startup process failure
mother_db exited with code 1
docker-compose down --rmi
でイメージごと削除して再度docker-compose build
&docker-compose up
してもだめ。
解決方法が見つからず自分がPANICになったが、以下の記事で助かった。
PANIC: could not locate a valid checkpoint record (Docker and Postgres)
docker volume ls
で対象のボリュームを探してdocker volume rm <volume-name>
をして再度docker-compose up
するとうまくいった。
どうやらコンテナもイメージも削除してもボリュームというものが残るらしい。
ボリュームとはデータを永続化できる場所のことみたいですね。
Docker、ボリューム(Volume)について真面目に調べた
Dockerの理解がなさすぎていつも躓くので精進します。。
皆様のお役に立てれば幸いです。