Настройка двух разных проектов, созданных на основе django-cookie-cutter, для работы на одном сервере

Как я могу запустить два разных проекта, сгенерированных на основе django-cookie-cutter, на одном сервере. Проекты сгенерированы с помощью Docker. Я полагаю, что нужно изменить порты, чтобы избежать столкновений. Но поскольку существует так много конфигурационных файлов, любая помощь будет оценена по достоинству.

Я включил секцию портов для сервисов, определенных в docker-compose.local.yml, включая postgres, django и т.д. :

docker-compose.local.yml

services:
  django: &django
    ports:
      - '8001:8000' #map host 8001 to container 8000

  postgres:
    ports:
      - '5433:5432' #map Host port 5433 to container 5432

У вас должен быть файл 'production.yml'. Остальные файлы и службы должны остаться прежними. И просто измените конфигурацию nginx, чтобы принимать трафик на другом порту. Доступ к вашим сервисам 'postgres' и 'django' другие контейнеры получают по именам, а не по порту, который они открывают. Это должна быть ваша конфигурация nginx.

nginx:
build:
  context: .
  dockerfile: ./compose/production/nginx/Dockerfile
image: calcscore_python_local_nginx
depends_on:
  - django
volumes:
  - production_django_media:/usr/share/nginx/media:ro
ports:
- 8001:80
restart: unless-stopped

Теперь, когда вы заходите на порт 8001, он попадет на нужный контейнер nginx. А благодаря сетевому взаимодействию в docker compose контейнер nginx будет знать, к какому сервису postgres или django ему следует обратиться.

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