Что такое директива EXPOSE в Docker?

EXPOSE описывает порт, на котором приложение в контейнере предполагает принимать соединения. Директива сама не публикует порт на хосте и не запускает слушающий процесс.

Короткий ответ

Что ответить на собеседовании

EXPOSE описывает порт, на котором приложение в контейнере предполагает принимать соединения. Директива сама не публикует порт на хосте и не запускает слушающий процесс.

Подробный разбор

Ответ с пояснениями

EXPOSE описывает порт, на котором приложение в контейнере предполагает принимать соединения. Директива сама не публикует порт на хосте и не запускает слушающий процесс.

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

Источник: docs.docker.com.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее