postgresql - postgres 和 docker-compose : can't create a custom role and database

标签 postgresql docker docker-compose

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

相关文章:

postgresql - 带有 PostgreSQL 后端的数据库 secret 引擎的 vault PostgreSQL 插件如何工作?

postgresql - 为什么在创建 GIN 索引时出错?

apache - Docker容器不再允许Web访问

amazon-web-services - 使用 Rancher OS 运行 docker-compose

docker - 从Docker容器运行docker-compose

sql - 使用 sql 对数据的公式应用

sql - 如何在postgresql函数中返回临时表结果

python - Docker用scrapy构建最小的图像python 2.7

azure - 从 Docker 容器内的 AzureKeyVault 获取 secret 和证书

java - 与 Spring Boot Docker 容器的服务间 RestTemplate 通信问题