Мы часто слышим, что Docker упрощает жизнь разработчиков и QA, но давайте разберемся, как им пользоваться в мире микросервисов? Поговорим, как с помощью Docker Compose собирать, тестировать и даже отлаживать весь ваш микросервисный зоопарк.
- Какую проблему мы хотим решить? (дать тестировщикам возможность локально запускать часть сервисов)
- Новые возможности Docker Compose:
- Health Check.
- Порядок запуска сервисов.
- Отслеживание локальных изменений с через
docker compose watch.
- Пример:
- Использование Git Submodules для работы с конкретными ветками.
- Secrets, Config и профили в Spring Boot.
- Удаленная отладка (через
-agentlib).
- Выводы: что получилось и какие есть ограничения в этом решении.
# первичное добавление сервисов
for module in person-service person-frontend; do
git submodule add -b master --name modules/$module https://github.com/Romanow/$module.git modules/$module
done# затягиваем изменения
$ git submodule update --init --remote
# собираем проект
$ ./build.sh
# собираем в docker
$ docker compose build
# запускаем в docker, открыть страницу http://localhost:8880
$ docker compose up -d --wait
# запускаем коллекцию для проверки
$ newman run --delay-request 100 -e tests/local.json tests/collection.json
# остановка сервисов
$ docker compose down -v