Как поведет себя контейнер, если указать ENTRYPOINT, но не задать CMD при запуске?

Если в Docker-контейнере задан ENTRYPOINT, но не указан CMD, то при запуске контейнера команда будет выполняться с аргументами по умолчанию, если они есть, или без аргументов.

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

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

Если в Docker-контейнере задан ENTRYPOINT, но не указан CMD, то при запуске контейнера команда будет выполняться с аргументами по умолчанию, если они есть, или без аргументов.

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

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

Если в Docker-контейнере задан ENTRYPOINT, но не указан CMD, то при запуске контейнера команда будет выполняться с аргументами по умолчанию, если они есть, или без аргументов.

ENTRYPOINT задаёт основной исполняемый файл или команду, а CMD — аргументы по умолчанию для этой команды.

Если CMD не задан, то ENTRYPOINT запускается без аргументов. Это значит, что контейнер выполнит ENTRYPOINT с пустым списком параметров, что может привести к ошибке или к запуску с поведением по умолчанию, в зависимости от программы.

Пример:

ENTRYPOINT ["/bin/echo"]
# CMD не задан

При запуске контейнера будет выполнена команда /bin/echo без аргументов, то есть просто выведется пустая строка.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку