我正在尝试使用自定义用户和数据库创建一个简单的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
要么
$ 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
。