[英]create a user in postgres docker container
I am trying to create a django app in docker container, but I do not know how to create a user in postgres container that django uses. 我正在尝试在docker容器中创建django应用程序,但我不知道如何在django使用的postgres容器中创建用户。 I guess that is why when I start it (by
docker-compose up --build --force-recreate
) it tells me database_1 | FATAL: role "my_user" does not exist
我猜这就是为什么当我启动它时(通过
docker-compose up --build --force-recreate
),它告诉我database_1 | FATAL: role "my_user" does not exist
database_1 | FATAL: role "my_user" does not exist
. database_1 | FATAL: role "my_user" does not exist
。 What am I doing wrong? 我究竟做错了什么?
docker-compose.yaml
right now looks like: docker-compose.yaml
现在看起来像:
version: "3.1"
services:
database:
image: postgres:9.5
environment:
POSTGRES_DB: "django_db"
POSTGRES_USER: "my_user"
POSTGRES_PASSWORD: "my_password"
POSTGRES_DATA: /var/lib/postgresql/data/pgdata
logging:
options:
max-size: "10m"
max-file: "3"
restart: always
volumes:
- "database:/var/lib/postgresql/data"
tmpfs:
- "/tmp"
- "/run"
networks:
db-net:
django:
build: ./
image: django:latest
environment:
DATABASE_URL: "postgres://my_user:my_pass@database/django_db"
ports:
- 7445:80
From your docker-compose.yml
I would say that you have successfully created the user my_user in your database. 从您
docker-compose.yml
我想说您已经在数据库中成功创建了用户my_user 。 You can verify that by running docker exec -ti project_database_1 psql -U my_user -d django_db
on your host. 您可以通过在主机上运行
docker exec -ti project_database_1 psql -U my_user -d django_db
进行验证。
I suggest you take a look at cookiecutter-django
. 我建议您看看
cookiecutter-django
。 You can find there a complete docker setup including the solved problem JodyT mentioned about starting Django
before the postgres
container is actually ready. 您可以找到一个完整的docker设置,包括已解决的JodyT问题,该问题涉及在实际准备好
postgres
容器之前启动Django
。
It's from the authors of the book two scopes of django which is also worth a read. 本书的作者来自django的两个范围,也值得一读。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.