Как запустить Джанго проект и редис в одном контейнере?

Для запуска Django проекта и Redis в одном контейнере, вы можете использовать инструмент Docker Compose.

1. Создайте файл docker-compose.yml в корневой директории проекта со следующим содержимым:

version: "3.8"
services:
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - 8000:8000
    depends_on:
      - redis
  redis:
    image: redis:latest

2. В вашем проекте Django, убедитесь, что у вас есть файл requirements.txt со всеми зависимостями проекта.
3. В папке с Dockerfile создайте файл requirements.txt и скопируйте содержимое из вашего проекта.
4. В папке с Dockerfile создайте файл Dockerfile со следующим содержимым:

FROM python:3.8

WORKDIR /code

COPY requirements.txt .

RUN pip install -r requirements.txt

COPY . .

CMD []

5. Теперь вы можете запустить контейнеры с помощью следующей команды:

docker-compose up

Это создаст и запустит контейнеры для Django проекта и Redis. Django будет доступен через порт 8000. Если вам нужен доступ к Redis, вы можете использовать имя контейнера redis, чтобы установить подключение.

В этом примере используется базовый Dockerfile для установки Python и копирования кода проекта в контейнер. Затем выполняется команда runserver, чтобы запустить веб-сервер Django на порту 8000. Для Redis используется официальный образ Redis из Docker Hub.

Вы также можете настроить другие параметры в docker-compose.yml файле согласно вашим потребностям, например настройки сети, переменных среды или других сервисов, которые требуются для вашего проекта Django.