Есть связка docker-compose и nginx. Как я прочитал, в docker-compose есть 3 варианта проставить порты у services:
- ports
- expose
- не ставить вообще
Я смотрел примеры и не совсем понял когда какой. Мне видится, что если использовать nginx как обратный прокси для контейнеров, то ports точно использовать не нужно. Потому что у nginx же наружный порт открыт. А если services на разных серверах (и тогда нужно наружный порт слушать), то тогда вместо компоуз
рекомендуют кубер использовать.
Вопросы:
1) Для чего может быть нужен Ports у контейнеров приложения в связке docker-compose и nginx (если nginx уже слушает снаружи)? Один из примеров с
ports
2) В каком случае порты можно не ставить? В примере выше в некоторых services порты не проставлены. Я бы вообще не ставил в данной связке, опять же зачем, если идентификатор (название контейнера) уже есть и опять же все находится на 1 машине (используем компоуз). На случай если будут названия контейнеров повторяться может?