postgres和docker-compose:无法创建自定义角色和数据库 [英] postgres and docker-compose : can't create a custom role and database
本文介绍了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屋!
查看全文