Остальные проекты по дисциплине
Тема: Реализация архитектуры на основе сервисов (микросервисной архитектуры)
Цель работы: Получить опыт работы организации взаимодействия сервисов с использованием контейнеров Docker
Ожидаемые результаты:
- Как минимум два сервиса (модуля развертывания) упаковать в виде Docker-контейнеров.
(1 балл) - Реализовать микросервисвисную архитектуру для выбранного набора сервисов / Запустить контейнеры, показать работоспособность приложения, состоящего из взаимодействующих сервисов (запускать можно локально или на удаленной машине).
(3 балла) - Настроить непрерывную интеграцию и развертывание (развертывание - по возможности).
(4 балла) - Разработать интеграционные тесты и включить их в процесс непрерывной интеграции.
(2 балла)
- Построение множества образов и запуск их контейнера:
docker-compose up --build
- запустить docker-compose.yml файлdocker-compose -f docker-compose-cd.yml up -d
- запустить определённый .yml файл
- Управление образом:
docker build --no-cache -f Dockerfile -t imageTag_Name .
- создать образ из конкретного Dockerfile без кэшаdocker images | grep imageTag_Name
- найти идентификатор ранее созданного образаdocker rmi -f imageIdentificator
- удалить образ
- Управление контейнером:
docker run -d --name containerName -p 8000:80 imageTag_Name
- создать контейнер из образа, в фоном режиме (-d) или в интерактивном (-it), с портами внешний:docker (-p int:int)docker start containerName
- запустить контейнерdocker stop containerName
- остановить контейнерdocker ps -a
- список всех (-a) контейнеровdocker inspect containerName
- получение информации о контейнере в формате JSONdocker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' сontainerName
- получить форматированную (-f) информацию о контейнереdocker container ls -n 5 | grep containerName
- найти идентификаторы ранее созданных контейнеров | с определённым именемdocker cp filePath containerIdentificator:containerFilePath
- скопировать файл, параметры: из_чего во_что-
docker exec -it containerIdentificator bash
- зайти в контейнер touch filePath
- создать файл в контейнере (предварительно нужно зайти в него)echo "Some text" >> fileName
- скопировать текст в файл в контейнере (предварительно нужно зайти в него)docker rm -vf containerIdentificator1 containerIdentificator2
- удалить контейнеры