В корне Необходимо создать env-файл со следующей конфигурацией:
DEBUG=1
SECRET_KEY=c%zfe934c9z_w*ee+a%2kpn(c*tb)31br7rlwv9!#95bmb9m(8
DJANGO_ALLOWED_HOSTS=localhost 127.0.0.1 [::1]
SQL_ENGINE=django.db.backends.postgresql
SQL_DATABASE=great_django_db
SQL_USER=siryoja
SQL_PASSWORD=helpmeimdevops
SQL_HOST=db
SQL_PORT=5432
DATABASE=postgres
Далее в этой же папке неоходимо сбилидить и запустить контейнер с помощью комманд
docker-compose build
docker-compoes up
Для остановки контейнеров необходимо выполнить комманду
docker-compose stop
Запущенный проект будет разворачиваться на loopback-адрессе на 8000-ом порте
/paravoz.Dockerfile - отвечает за настройку образа и слоев внутри контейнера, заппускает энтрипоинт для проекта Внутри этого файла идет установка образа, и выполняются следующие действтия по слоям:
- Обновление пакетного менеджера и установка необходимой локали
- Установка необходимого часового пояса
- Установка драйвера для Postgres-а
- Установка зависимостей и обновление пакетного менеджера pip
- Установка утилиты netcat для проверки готовности БД в entrypoint.sh
- Запуск Энтрипоинта
/entrypoint.sh - Представляет собой Bash-скрипт вызывающийся каждый раз при поднятии контейнера, проверяющий через утилиту netcat готова ли к использованию база данных. Если таковая готова, то производит миграции в базу данных через manage.py-файл. После выполнения миграций запускает скрипт для записи в базу
/docker-compose.yml - Файл, запускающий контейнеры приложения и СУБД, пробрасывает порты для обоих контейнеров, реализует подключение к базе данных через env-файл и создает volume для данных, а также запускает балансировщик нагрузки и сервер сертификации