我正在尝试使用自定义用户和数据库创建一个简单的 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
。
关于postgresql - postgres 和 docker-compose : can't create a custom role and database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49112545/