Изучаю докер, и столкнулся с двумя вопросами:
1. Первый вопрос вытекает из заголовка вопроса: зачем нужен EXPOS или VOLUME, если при запуске контейнера нужно все равно пробросить ip или сделать монтировку ?
Например (в примере опустил лишние моменты):
FROM ubuntu:latest
RUN apt update && apt install -y nginx && apt install -y php-fpm
EXPOSE 80
зачем писать EXPOSE 80, если ip все равно не пробросится, и нужно будет при запуске контейнера указать
-p 80:80 ?
И тоже самое с VOLUME.
Возможно они имеют разный смысл в зависимости от контекста использования,
но я этого не понял.
2. Второй вопрос: если я запускаю несколько контейнеров, правильно ли понимаю, что они могут спокойно общаться по localhost и ну нужно для этого какие-то порты пробрасывать ?