相关疑难解决方法(0)

Docker Compose,Django:角色"_"不存在

上下文
我试图使用docker-compose在docker开发环境中运行我的Django应用程序和Postgres数据库(这是我第一次使用Docker).我希望将我的应用程序与自定义角色和数据库teddycrepineau一起使用(而不是使用默认的postgres用户和数据库).

目标
我的目标是通过django restapi部署一个由前端和后端驱动的web应用程序,整个在docker中运行.

系统/版本

  • python:3.7
  • django:2.1
  • 操作系统:Mac OS High Sierra

我得到什么错误
docker-compose up使用我的自定义角色和数据库运行时,我收到以下错误django.db.utils.OperationalError: FATAL: role "teddycrepineau" does not exist.当使用默认角色运行相同的命令时,db postgresDjango能够正常启动.

我的理解是运行docker-compose up会创建角色,db作为环境变量传递.

到目前为止
尝试过的东西我在这个网站上看到了多个威胁,GitHub和docker:

  • 试图删除我的容器并使用此处建议的格式重建它
  • 经历了这个 GitHub问题
  • 试图在我的环境变量从移动.env文件environment我里面docker-compose.yml的文件和重建我的容器

泊坞窗,compose.yml

version: '3'

volumes:
  postgres_data: {}

services:
  postgres:
    image: postgres
    volumes: 
      - postgres_data:/var/lib/postgresql/data
    env_file: .env
    ports:
      - "5432"

  django:
    build:
      context: teddycrepineau-backend
      dockerfile: teddycrepineau-root/Dockerfile
    command: ./teddycrepineau-backend/teddycrepineau-root/start.sh
    env_file: .env
    volumes: 
      - .:/teddycrepineau-backend …
Run Code Online (Sandbox Code Playgroud)

django postgresql docker docker-compose

5
推荐指数
1
解决办法
1264
查看次数

docker compose:postgresql 创建数据库,用户通行证并授予权限

我有以下 docker-compose 文件:

version: '3'
services:
  web:
    build:
      context: ./django_httpd_mod_wsgi
    ports:
     - "8000:80"
  db:
    build:
      context: ./postgresql
    volumes:
       - db-data:/var/lib/postgres/data
volumes:
  db-data:
Run Code Online (Sandbox Code Playgroud)

我正在使用 archlinux 构建 psotgresql 映像:

以下是我的 postgresql Dockerfile:

FROM archlinux/base

RUN yes | pacman -S postgresql

RUN mkdir /run/postgresql/
RUN chown -R postgres:postgres /run/postgresql/

USER postgres

RUN initdb -D /var/lib/postgres/data

RUN psql -c 'CREATE DATABASE btgapp;' 
RUN psql -c "CREATE USER simha WITH PASSWORD 'krishna';" 
RUN psql -c 'GRANT ALL PRIVILEGES ON DATABASE btgapp TO simha;'

CMD ["/usr/bin/postgres","-D","/var/lib/postgres/data"] …
Run Code Online (Sandbox Code Playgroud)

postgresql archlinux docker docker-compose

1
推荐指数
1
解决办法
5100
查看次数

标签 统计

docker ×2

docker-compose ×2

postgresql ×2

archlinux ×1

django ×1