Модуль 3.2 Docker-compose

Целью данного модуля является знакомство с Docker-compose и локальным развертыванием простого многоконтейнерного приложения.

  • знакомство с синтаксисом и командами Docker-compose;
  • знакомство с веб-сервером nginx;

Предварительные требования

  1. Предполагается, что вы выполнили первое задание по модулю Docker и можете собрать образ приложения.

Задание

Реализуйте возможность локального развертывания образа тестового приложения при помощи docker-compose, таким образом, чтобы страница в формате HTML, сгенерированная ранее, стала доступна локально по адресу http://localhost:8080.

  1. Используйте nginx в качеcтве веб-сервера:
    • nginx выполняется в контейнере и использует официальный образ;
    • конфигурационный файл nginx хранится локально;
    • используется только протокол HTTP;
    • вывод логов nginx доступен через команду docker logs;
  2. Реализуйте возможность сборки образа приложения через docker-compose.
  3. Реализуйте команды запуска и остановки приложения средствами локальной автоматизации (Taskfile).

Дополнительно:

  1. Реализуйте возможность запуска 3 экземпляров nginx, осуществляющих выдачу HTML и балансировку запросов к ним через дополнительный контейнер nginx.