https://github.com/romanow/local-dev-with-docker
Using docker compose for local development
https://github.com/romanow/local-dev-with-docker
Last synced: about 1 year ago
JSON representation
Using docker compose for local development
- Host: GitHub
- URL: https://github.com/romanow/local-dev-with-docker
- Owner: Romanow
- License: mit
- Created: 2025-07-14T11:06:11.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-07-14T13:10:29.000Z (about 1 year ago)
- Last Synced: 2025-07-14T17:05:39.484Z (about 1 year ago)
- Language: Shell
- Size: 5.86 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/Romanow/local-dev-with-docker/actions/workflows/build.yml)
[](https://github.com/pre-commit/pre-commit)
[](https://creativecommons.org/licenses/by-nc-nd/4.0/)
# Использование Docker Compose для разработки и тестирования
## Аннотация
Мы часто слышим, что Docker упрощает жизнь разработчиков и QA, но давайте разберемся, как им пользоваться в мире
микросервисов? Поговорим, как с помощью Docker Compose собирать, тестировать и даже отлаживать весь ваш микросервисный
зоопарк.
## План
1. Какую проблему мы хотим решить? (дать тестировщикам возможность локально запускать часть сервисов)
2. Новые возможности Docker Compose:
* Health Check.
* Порядок запуска сервисов.
* Отслеживание локальных изменений с через `docker compose watch`.
3. Пример:
* Использование Git Submodules для работы с конкретными ветками.
* Secrets, Config и профили в Spring Boot.
* Удаленная отладка (через `-agentlib`).
4. Выводы: что получилось и какие есть ограничения в этом решении.
## Доклад
### Использование Git Submodules
```shell
# первичное добавление сервисов
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
```
```shell
# затягиваем изменения
$ 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
```