postgres和docker-compose:无法创建自定义角色和数据库

时间:2018-03-05 14:20:38

标签: postgresql docker docker-compose

我正在尝试使用custum用户和数据库创建一个简单的postgreSQL容器。

这是我的docker-compose文件:

    05/Mar/2018:13:43:51 +0100    
    xxx.xx.xx.xxx
    GET /favicon.ico HTTP/1.0
    Status: 200 318 B

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环境变量。

我不知道我能做什么。你对这个问题有所了解吗?

谢谢!

1 个答案:

答案 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