私は、custumユーザーとデータベースで単純なpostgreSQLコンテナーを作成しようとしています。
これは私のdocker-composeファイルです:
version: '2'
services:
db.postgres:
container_name: db.postgres
image: postgres:10
environment:
- POSTGRES_USER:'myuser'
- POSTGRES_PASSWORD:'myuserpassword'
- POSTGRES_DB:'mydb'
ports:
- '5432:5432'
volumes:
- ./pgdata:/var/lib/postgresql/data
データベースに接続しようとするとエラーが発生します。
docker exec -it db.postgres psql -U myuser myuserpassword
psql: FATAL: role "myuser" does not exist
OR
$ docker exec -it db.postgres /bin/bash
root@1a0531e0350f:/# psql -U myuser
psql: FATAL: role "myuser" does not exist
Docker-compose環境変数は、データベースの作成時に無視されているように見えます。
何ができるかわかりません。あなたは問題のアイデアを持っていますか?
よろしくお願いします!
Docker-compose.ymlファイルを次のように変更します。
version: '2'
services:
db.postgres:
container_name: db.postgres
image: postgres:10
environment:
- POSTGRES_USER=myuser
- POSTGRES_PASSWORD=myuserpassword
- POSTGRES_DB=mydb
ports:
- '5432:5432'
volumes:
- ./pgdata:/var/lib/postgresql/data
次に、現在のデータを完全に削除して、再実行しますdocker-compose up
。