Как организовать несколько микросервисов в локальной среде?
На данный момент у меня есть несколько сервисов, каждый из которых работает на своем собственном контейнере. Каждое хранилище кода имеет свой собственный файл Docker и файл компоновки Docker, чтобы запустить сервис на моей локальной dev-машине.
Все хорошо, и я могу получить доступ к каждой услуге на
http://localhost:%5Bservice сопоставлена / открыт порт]
Проблема в том, что сервисы расширяются, и я думаю, что было бы лучше иметь все в локальной частной сети, где каждый контейнер сервиса имеет свой собственный IP-адрес.
Это лучший подход для организации контейнеров на местном уровне?
С чего мне начать, чтобы принять решение?
1 ответ
В идеале вы должны описать всю свою установку в одном или нескольких файлах создания докеров. Смотрите документацию для деталей.
Что касается организации сети и связывания ваших услуг: Docker compose поддерживает работу в сети. Вы можете определить сети, и все сервисы, которые находятся в одной сети, могут обращаться друг к другу через их serviceName и внутренний порт (в зависимости от приложения). Например: http://mysuperservice:3001/
Если вам нужны несколько копий ваших служб или, возможно, несколько компьютеров, вам нужно обратиться к таким оркестровщикам, как Docker Swarm (проще всего начать с) или Kubernetes или другим.