{"id":20645050,"url":"https://github.com/romanow/docker-in-development","last_synced_at":"2025-08-31T08:36:55.097Z","repository":{"id":146005606,"uuid":"469923443","full_name":"Romanow/docker-in-development","owner":"Romanow","description":"Using docker compose for local development","archived":false,"fork":false,"pushed_at":"2022-11-07T13:30:46.000Z","size":11609,"stargazers_count":3,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-16T02:09:28.808Z","etag":null,"topics":["docker","docker-compose"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Romanow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-14T22:23:51.000Z","updated_at":"2023-10-14T15:27:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"89e49f37-9004-4e18-bc7b-9c5c1237a688","html_url":"https://github.com/Romanow/docker-in-development","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Romanow%2Fdocker-in-development","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Romanow%2Fdocker-in-development/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Romanow%2Fdocker-in-development/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Romanow%2Fdocker-in-development/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Romanow","download_url":"https://codeload.github.com/Romanow/docker-in-development/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249183105,"owners_count":21226142,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose"],"created_at":"2024-11-16T16:18:33.958Z","updated_at":"2025-04-16T02:09:46.056Z","avatar_url":"https://github.com/Romanow.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Использование Docker Compose для разработки и тестирования\n\n1. Какую проблему мы хотим решить:\n    1. помочь тестировщикам для тестирования изменений;\n    2. дать возможность разработчикам отладки сервиса в связки с другими сервисами.\n2. Описываем Docker Compose:\n    1. Postgres, Services, Volumes.\n    2. Чтобы настройки Docker не влияли на другие контуры, создаем\n    3. Задание актуальных версий или использование Build Context?\n    4. Git Submodules и сборка приложений [docker-compose.yml](docker-compose.yml).\n    5. Ожидание сервисов [docker-compose.wait.yml](docker-compose.wait.yml).\n3. Использование Docker Compose для разработки:\n    1. Eureka или другие Service Discovery не используем, т.к. все запускается в OpenShift.\n    2. В настройках адреса сервисов прописываем как `services.dict.url: ${DICT_URL:http://dictionary-service:8020}`, а в\n       Docker Compose в блоке `environment` переопределяем\n       на `host.docker.internal` [docker-compose.local-debug.yml](docker-compose.local-debug.yml).\n    3. В самом приложении создаем профиль `application-docker-to-local.properties`, где прописываем адреса на localhost.\n    3. Дебаг приложения внутри контейнера [docker-compose.remote-debug.yml](docker-compose.remote-debug.yml).\n\n### Git Submodules\n\n```shell\n$ git submodule add -b master git@github.com:Romanow/store-service.git modules/store-service\n$ git submodule add \\\n    --force \\\n    -b master \\\n    --name modules/warranty-service git@github.com:Romanow/warranty-service.git \\\n    modules/warranty-service\n```\n\n### Сборка\n\n```shell\n# затягиваем изменения\n$ git submodule update --init --remote\n\n# собираем модули\n$ ./build-all.sh\n\n# собираем образы docker\n$ docker compose build\n\n# запускаем\n$ docker compose up -d\n\n# проверяем работу\n$ newman run ./postman/collection.json -e ./postman/environment.json\nServices\n\n❏ Store service\n↳ [store] Health Check\n  GET http://localhost:8480/manage/health [200 OK, 304B, 307ms]\n  ✓  Health check\n\n↳ [store] Purchase item\n  POST http://localhost:8480/api/v1/store/6D2CB5A0-943C-4B96-9AA6-89EAC7BDFD2B/purchase [201 Created, 346B, 3.3s]\n  ✓  Purchase item\n\n↳ [store] User order info\n  GET http://localhost:8480/api/v1/store/6D2CB5A0-943C-4B96-9AA6-89EAC7BDFD2B/9845ce88-f702-4f41-9cd4-bfe17393e3da [200 OK, 446B, 539ms]\n  ✓  User order info\n\n↳ [store] User orders\n  GET http://localhost:8480/api/v1/store/6D2CB5A0-943C-4B96-9AA6-89EAC7BDFD2B/orders [200 OK, 448B, 386ms]\n  ✓  User orders\n\n↳ [store] Warranty request\n  POST http://localhost:8480/api/v1/store/6D2CB5A0-943C-4B96-9AA6-89EAC7BDFD2B/9845ce88-f702-4f41-9cd4-bfe17393e3da/warranty [200 OK, 368B, 853ms]\n  ✓  Warranty request\n\n↳ [store] Return order\n  DELETE http://localhost:8480/api/v1/store/6D2CB5A0-943C-4B96-9AA6-89EAC7BDFD2B/9845ce88-f702-4f41-9cd4-bfe17393e3da/refund [204 No Content, 201B, 101ms]\n  ✓  Return order\n\n┌─────────────────────────┬─────────────────────┬────────────────────┐\n│                         │            executed │             failed │\n├─────────────────────────┼─────────────────────┼────────────────────┤\n│              iterations │                   1 │                  0 │\n├─────────────────────────┼─────────────────────┼────────────────────┤\n│                requests │                   6 │                  0 │\n├─────────────────────────┼─────────────────────┼────────────────────┤\n│            test-scripts │                   6 │                  0 │\n├─────────────────────────┼─────────────────────┼────────────────────┤\n│      prerequest-scripts │                   5 │                  0 │\n├─────────────────────────┼─────────────────────┼────────────────────┤\n│              assertions │                   6 │                  0 │\n├─────────────────────────┴─────────────────────┴────────────────────┤\n│ total run duration: 5.6s                                           │\n├────────────────────────────────────────────────────────────────────┤\n│ total data received: 643B (approx)                                 │\n├────────────────────────────────────────────────────────────────────┤\n│ average response time: 920ms [min: 101ms, max: 3.3s, s.d.: 1104ms] │\n└────────────────────────────────────────────────────────────────────┘\n\n$ docker compose down -v\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromanow%2Fdocker-in-development","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fromanow%2Fdocker-in-development","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromanow%2Fdocker-in-development/lists"}