Основным заданием данной практической работы является перенос реализованной инфраструктуры (tg-бот и база данных) в контейнеры.
<aside> ❗ Проект должен развораичаться только с использованием файла docker-compose.yaml и необходимых образов, созданных через Dockerfile. Проект, требующий дополнительной настройки, считается выполненным некорректно.
</aside>
Реализация основного задания подразумевает следующие шаги:
Создание необходимых образов контейнеров
Этот шаг включает в себя создание образов контейнеров, которые будут использоваться для развертывания приложений. Образы определяют состав и настройки приложения, а также его окружение. Для этого используются Dockerfile'ы, содержащие инструкции по сборке образа, например, установка зависимостей, копирование файлов и настройка окружения.
<aside> ❗ Названия образов:
Для бота: bot_image
Для базы данных: db_image
Для реплики базы данных: db_repl_image
</aside>
Настройка виртуальной машины, на которой были созданы образы, как локального реестра
В этом шаге на виртуальной машине устанавливается и настраивается Docker Registry, для хранения и управления созданными образами контейнеров. Это позволяет другим виртуальным машинам получать доступ к образам из локального реестра.
Создание новой виртуальной машины
В данном шаге создается новая виртуальная машина, на которой будет развернуто приложение.
Установка и настройка docker и docker-compose на новой виртуальной машине.
Здесь происходит установка и настройка Docker и Docker Compose на созданной виртуальной машине. Docker используется для управления контейнерами, а Docker Compose - для определения и запуска многоконтейнерных приложений.
Создать файл docker-compose, в котором будет использоваться созданные ранее образы, которые необходимо будет загружать с локального реестра
В этом шаге создается файл docker-compose.yml, в котором определяются параметры и зависимости контейнеров, используемых в приложении.
Запуск проекта
После создания всех необходимых файлов и настроек запускается процесс развертывания проекта. Docker Compose используется для запуска контейнеров в соответствии с описанными в docker-compose.yml настройками.
Проверка работоспособности
Необходимо предоставить скриншоты, на которых видно, что контейнеры запущены (docker ps) и при этом открыт telegram и отправлены боту команды на вывод данных из БД, а также переданна команда на вывод логов о репликации.