.. | ||
images | ||
service1 | ||
service2 | ||
var/data | ||
docker-compose.yml | ||
README.md |
Задание
Развернуть два взаимосвязанных сервиса по варианту:
Вариант № 4 для первой программы:
- Сервис формирует файл /var/result/data.txt так, что каждая строка файла - количество символов в именах файлов из каталога /var/data. Вариант № 2 для второй программы:
- Сервис ищет наименьшее число из файла /var/data/data.txt и сохраняет его третью степень в /var/result/result.txt.
Выполнение
Были написаны два сервиса на языке python с использованием технологии flask. Они выводят на страницу кнопки, при нажатии на которые происходит соответствующие действия по заданию
Для сервисов прописаны файлы Dockerfile, описывающие создание контейнеров:
- Для обоих контейнеров выбирается Python 11
- На оба контейнера пробрасываются порты, на которых работает приложение: 8081 для первого и 8082 для второго
- Внутри контейнеров создаются папки /work для файлов скриптов, папки /var/result, /var/data для обоих сервисов
- В оба контейнера устанавливается фреймворк Flask
- Выбирается рабочая директория /work и туда копируются файлы скриптов
- Командой запускаются сами скрипты
Общий yml-файл настроен следующим образом:
- блок services, где перечислены разворачиваемые сервисы.
- для каждого сервиса прописан build, где обозначается его папка
- для каждого сервиса прописано пробрасывание портов на хостовую машину
- для каждого сервиса прописано отображение внутриконтейнерных папок на хостовые
Результат
Пример выполнения:
Исходные данные: четыре файла в папке /var/data с разным по длине названием
Ход работы: нажатие кнопок на странице первого сервиса, потом - второго Созданные контейнеры:
Выходные данные при выполнении второго задания: