简体   繁体   English

在postgres docker容器中创建一个用户

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM