🖥

Docker + Postgres - ユーザー名 ( POSTGRES_USER ) やパスワード ( POSTGRES_PASSWORD

2024/11/14に公開

問題

  • 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オープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

プロフィール・経歴

https://github.com/YumaInaura/YumaInaura

公開日時

2024-09-10

https://qiita.com/YumaInaura/items/262af7929b996ac5a86c

Discussion