Python Django Установка Postgres (с помощью docker) ... Пытаюсь сделать миграции для postgres, но файл make не работает

Итак, я впервые собираю стек с нуля

я пытаюсь подключиться к postgres для лучшего управления

но я уверен, что у меня есть ошибка в моем файле docker или файле make

может ли кто-нибудь пролить свет на это для меня?

код ниже

make файл

    build:
        docker build --force-rm $(options) -t bonkit_websites:latest .

    build-dev:
        $(MAKE) build options="--target development"

    compose-start:
        docker-compose up --remove-orphans $(options)

    compose-stop:
        docker-compose down --remove-orphans $(options)

    compose-manage-py:
        docker-compose run --rm $(options) website python manage.py $(cmd)

docker.yml

version: "3.8"

x-service-volumes: &service-volumes
  - ./:/app/:rw,cached

x-database-variables: &database-variables
  POSTGRES_DB: postgres
  POSTGRES_USER: postgres
  POSTGRES_USER: postgres

x-app-variables: &app-variables
  <<: *database-variables
  POSTGRES_HOST: postgres

services:
  website:
    tty: true
    image: bonkit_websites:latest 
    command: python manage.py runserver 0.0.0.0:8000
    volumes: *service-volumes
    enviroment: *app-variables
    depends_on:
      - db_migrate
    ports:
      - "8000:8000"
  
  db_migrate:
    image: bonkit_websites:latest
    command: python manage.py migrate
    volumes: *service-volumes
    enviroment: *app-variables
    depends_on:
      - postgres

    postgres:
      image: postgres
      ports: 
        - "5432:5432"
      enviroment:
        - db-data:/var/lib/postgresql/data

Файл докера

    FROM python:3.9.7-slim as production

    ENV PYTHONBUFFERED=1
    WORKDIR /app/

    RUN apt-get update && \
        apt-get install -y \
        bash \ 
        build-essential \
        gcc \
        libffi-dev \
        musl-dev \
        openssl \
        postgresql \
        libpq-dev
        
    COPY requirements/prod.txt ./requirements/prod.txt
    RUN pip install --user -r ./requirements/prod.txt

    COPY manage.py .manage.py
    #COPY setup.cfg ./setup.cfg
    COPY bonkit_website ./bonkit_website

    EXPOSE 8000

    FROM production as development

    COPY requirements/dev.txt ./requirements/dev.txt
    RUN pip install --user -r ./requirements/dev.txt

    COPY . .

настройки джанго

    # Database
    # https://docs.djangoproject.com/en/3.2/ref/settings/#databases

    POSTGRES_HOST = os.environ.get('POSTGRES_HOST', default="")
    POSTGRES_DB = os.environ.get('POSTGRES_DB', default="")
    POSTGRES_USER = os.environ.get('POSTGRES_USER', default="")
    POSTGRES_PASSWORD = os.environ.get('POSTGRES_PASSWORD', default="")

    DATABASES = {
        "default": {
            "ENGINE": "django.db.backends.postgresql",
            "NAME": POSTGRES_DB,
            "USER": POSTGRES_USER,
            "PASSWORD": POSTGRES_PASSWORD,
            "HOST": POSTGRES_HOST,
            "PORT": 5432,

        }
    }

Редактирование Забыть ошибку

ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services.website: 'enviroment'
Unsupported config option for services.db_migrate: 'enviroment'
make: *** [Makefile:14: compose-manage-py] Error 1

Команда

make compose-manage-py cmd="makemigrations"

Может ли кто-нибудь помочь мне здесь?

Я буквально думал и отлаживал столько, сколько мог. Я нашел ошибку и исправил ее, но теперь я застрял. Я новичок в создании собственного стека, недавно изучил python

Я чувствую, что зашел достаточно далеко, но если кто-то может помочь, было бы здорово

извините за мою грамматику и правописание, я не очень хорош из-за некоторых проблем с обучением

Вернуться на верх