我正在尝试使用custum用户和数据库创建一个简单的postgreSQL容器。
这是我的docker-compose文件:
05/Mar/2018:13:43:51 +0100 xxx.xx.xx.xxx GET /favicon.ico HTTP/1.0 Status: 200 318 Bversion: '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环境变量。
我不知道我能做什么。你对这个问题有所了解吗?
谢谢!
答案 0 :(得分:6)
修改您的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
。