EXPOSE описывает порт, на котором приложение в контейнере предполагает принимать соединения. Директива сама не публикует порт на хосте и не запускает слушающий процесс.
Что такое директива EXPOSE в Docker?
EXPOSE описывает порт, на котором приложение в контейнере предполагает принимать соединения. Директива сама не публикует порт на хосте и не запускает слушающий процесс.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
EXPOSE описывает порт, на котором приложение в контейнере предполагает принимать соединения. Директива сама не публикует порт на хосте и не запускает слушающий процесс.
Для публикации используют параметр запуска вроде -p host_port:container_port; -P может опубликовать объявленные порты автоматически. Контейнеры в одной подходящей сети могут общаться по внутренним портам без EXPOSE. Важно также, на каком адресе приложение слушает: localhost внутри контейнера отличается от адреса сетевого интерфейса. EXPOSE — метаданные образа, а не правило firewall.
Источник: docs.docker.com.