Встречается на собеседованиях • сегодня
Что произойдёт, если не указать EXPOSE для портов в Dockerfile
Если не указать EXPOSE в Dockerfile, контейнер всё равно сможет прослушивать указанные порты. Однако, EXPOSE выполняет две ключевые функции:
- Документирование — показывает, какие порты предназначены для работы приложения.
- Автоматическое пробрасывание — при запуске контейнера с
-P(рандомный порт), Docker автоматически связывает указанные вEXPOSEпорты с хостом.
Без EXPOSE порты останутся доступными только внутри сети контейнера или если явно указать -p при запуске.
Пример:
dockerfile
FROM python:3.9
CMD ["python", "-m", "http.server", "8000"]Здесь сервер слушает порт 8000, но без EXPOSE 8000 придётся вручную указывать -p 8000:8000 при запуске.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы