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
Я чувствую, что зашел достаточно далеко, но если кто-то может помочь, было бы здорово
извините за мою грамматику и правописание, я не очень хорош из-за некоторых проблем с обучением