LoginSignup
5
1

More than 1 year has passed since last update.

Docker/Postgresでpassword authentication failedが出た場合の対処法

Last updated at Posted at 2020-12-16

エラー内容

Unable to connect to the database.
error: password authentication failed for user "xxx"

または

Password does not match for user “xxx”

原因

  • 一度Dockerを立ち上げた後、認証情報(POSTGRES_USERPOSTGRES_PASSWORD)を変更した場合に発生します。

  • 認証情報は、初期起動時に設定されます。その後、認証情報を変えて起動しようとしても、当初設定した値と一致しないので、エラーになります。

対応方法

  • db volumeを削除して、起動する(※db volume内のデータは失われることに注意)。
## docker 削除時に、container に紐付けられた volume も削除する (docker rm --help で確認可)
$ docker rm -v <xxx>
  • 以下は、container とは別に手動で volume を削除する方法(↑で上手く行けば不要)。
## docker を削除
$ docker rm <xxx>

$ docker volume ls
DRIVER    VOLUME NAME
local     some_db_data

$ docker volume rm <volume>
or
$ docker volume prune
WARNING! This will remove all local volumes not used by at least one container.
Are you sure you want to continue? [y/N] y 

## 削除されていることを確認
$ docker volume ls

参照先

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1