🖥
Docker + Postgres - ユーザー名 ( POSTGRES_USER ) やパスワード ( POSTGRES_PASSWORD
問題
- Docker + Postgres 構成でユーザー名・パスワードを変更しても反映されない
- 最初に設定したユーザー・パスワードが使われ続けてしまう
DB接続のエラー例
psql -h localhost -p 5432 -U postgres
Password for user postgres:
psql: error: FATAL: password authentication failed for user "postgres"
結論
volume でDBを永続化していると、初回に作られたユーザー・パスワードがそのまま使われ続けてしまう
解決策としては、次のような手段が考えられる
- 永続化しないようにして試す
- docker volume を削除する (
docker volume ls
docker volume rm <ボリューム名>
) - Postgres のユーザー名・パスワードを直接変更する (未検証)
docker-compose.yml
問題が起きた docker-compose.yml
の例
永続化をしないようにすれば毎回、設定が反映される
services:
db:
image: postgres:15
container_name: postgres
ports:
- 5432:5432
- volumes:
- - db-store:/var/lib/postgresql/data
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
-volumes:
- db-store:
なお docker-compose の設定を変えたらコンテナは再起動させること
docker-compose down
docker-compose up
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
プロフィール・経歴
公開日時
2024-09-10
Discussion