Как правильно сделать общение микросервисов через домены?
Есть три контейнера nginx, php-fpm, mysql управляемые через docker compose v3. php-fpm обслуживает несколько сервисов также как и nginx.
Припустим есть три сервиса доступные на хост машине по адресам service1.local, service2.local и service3.local которые все ведут на один контейнер с nginx которые в свою очередь обрабатывает php через php-fpm. При запросе service1.local должны быть сделаны запросы на стороне бекенда php через curl к сервисам service2.local и service 3.local по доменам. Как собственно это сделать без костылей наподобие назначить постоянный айпи nginx и прописывать домены с помощью extra_hosts?
Вроде как по описанию решают это но слишком монструозное решение для простой проблемы которая скорее всего решается стандартным элегантным способом на уровне docker compose
t38c3j, docker compose нормальные люди не используют в продакшн) на эту тему есть огромное число статей. И Consul очень простой, даже админка есть для всякого. Сложно это если бы я посоветовал K8s)
А не кто и не собирается использовать в продакшене), до этого далеко еще, пока там натив, в данным момент для локальной разработки используется docker compose
t38c3j, ну, сочувствую) в любом случае стоит всегда делать так чтобы прод и локаль деплоились одинаково чтобы быть уверенным что все срастается. Успехов
SlavikF, в том что это работает только внутри одной сети, а когда мы говорим о контейнерах то большинство проектов деплоятся с горизонтальным масштабированием на разных серверах и не сидят на одной виртуалке. То есть в реальной жизни это не работает. Только для локальной разработки. А поскольку для качественной работы необходимо чтобы локаль и прод были максимально близки то compose и обращение по имени контейнера смело спускается в унитаз