postgres和docker-compose:无法创建自定义角色和数据库 [英] postgres and docker-compose : can't create a custom role and database

查看:120
本文介绍了postgres和docker-compose:无法创建自定义角色和数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'am trying to create a simple postgreSQL container with a custum user and database.

这是我的docker-compose文件:

This is my docker-compose file :

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

当我尝试连接到数据库时出现错误。

And the error when I try to connect to my database.

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组成的环境变量似乎被忽略了。

Docker-compose environment variables appear to be ignored when creating the database.

我不知道该怎么办。你有问题的想法吗?

I don't known what can I do. Do you have an idea of ​​the problem?

谢谢!

推荐答案

按如下所示修改docker-compose.yml文件:

Modify your docker-compose.yml file as below:

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

Then drop your current data entirely and re-run docker-compose up.

这篇关于postgres和docker-compose:无法创建自定义角色和数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆