Для запуска Django проекта и Redis в одном контейнере, вы можете использовать инструмент Docker Compose.
- Создайте файл
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
- В вашем проекте Django, убедитесь, что у вас есть файл
requirements.txt
со всеми зависимостями проекта. - В папке с
Dockerfile
создайте файлrequirements.txt
и скопируйте содержимое из вашего проекта. - В папке с
Dockerfile
создайте файлDockerfile
со следующим содержимым:
FROM python:3.8 WORKDIR /code COPY requirements.txt . RUN pip install -r requirements.txt COPY . . CMD []
- Теперь вы можете запустить контейнеры с помощью следующей команды:
docker-compose up
Это создаст и запустит контейнеры для Django проекта и Redis. Django будет доступен через порт 8000. Если вам нужен доступ к Redis, вы можете использовать имя контейнера redis
, чтобы установить подключение.
В этом примере используется базовый Dockerfile
для установки Python и копирования кода проекта в контейнер. Затем выполняется команда runserver
, чтобы запустить веб-сервер Django на порту 8000. Для Redis используется официальный образ Redis из Docker Hub.
Вы также можете настроить другие параметры в docker-compose.yml
файле согласно вашим потребностям, например настройки сети, переменных среды или других сервисов, которые требуются для вашего проекта Django.