Как организовать несколько микросервисов в локальной среде?

На данный момент у меня есть несколько сервисов, каждый из которых работает на своем собственном контейнере. Каждое хранилище кода имеет свой собственный файл Docker и файл компоновки Docker, чтобы запустить сервис на моей локальной dev-машине.

Все хорошо, и я могу получить доступ к каждой услуге на

http://localhost:%5Bservice сопоставлена ​​/ открыт порт]

Проблема в том, что сервисы расширяются, и я думаю, что было бы лучше иметь все в локальной частной сети, где каждый контейнер сервиса имеет свой собственный IP-адрес.

Это лучший подход для организации контейнеров на местном уровне?

С чего мне начать, чтобы принять решение?

1 ответ

В идеале вы должны описать всю свою установку в одном или нескольких файлах создания докеров. Смотрите документацию для деталей.

Что касается организации сети и связывания ваших услуг: Docker compose поддерживает работу в сети. Вы можете определить сети, и все сервисы, которые находятся в одной сети, могут обращаться друг к другу через их serviceName и внутренний порт (в зависимости от приложения). Например: http://mysuperservice:3001/

Если вам нужны несколько копий ваших служб или, возможно, несколько компьютеров, вам нужно обратиться к таким оркестровщикам, как Docker Swarm (проще всего начать с) или Kubernetes или другим.

Другие вопросы по тегам