docker-composeでpostgresを起動したら、状態がRestartingばかりでうまく起動しなくてはまった docker

docker-composeでpostgresを起動したら、状態がRestartingばかりでうまく起動しなくてはまった


・docker-compose up -d してpsで確認するとずっとこんな感じ。
λ docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------------------------
hoge_db docker-entrypoint.sh postgres Restarting


・ログはこんな感じ
PostgreSQL Database directory appears to contain a database; Skipping initialization

UTC [1] FATAL: data directory /var/lib/postgresql/data has wrong ownership
UTC [1] HINT: The server must be started by the user that owns the data directory.


・解決策
docker-compose.yml の volumne指定を以下に変更するとうまくいった。
-----------------------------------------------------
volumes:
# - ./postgres_data:/var/lib/postgresql/data # これだと restartばかりになる FATAL: data directory /var/lib/postgresql/data has wrong ownership  HINT: The server must be started by the user that owns the data directory.
↓以下に変更
- ./postgres_data:/var/lib/postgresql
-----------------------------------------------------


あと他のケースであったトラブルが、docker-compose.ymlに
tty: trueをいれないと、docker-composeで起動したあとすぐ終了してしまい
docker logsでログみても音沙汰無しで気づかないということもありました。
restart: always にしてて、正常終了してまた再起動をくりかえしてたのね。
docker-compose.yml の書き間違えのケースと、tty: true入れ忘れの両方のケースがあって
まぎらわしかったです。