Встречается на собеседованиях • сегодня
В чём разница между CMD и ENTRYPOINT в Dockerfile
Разница между CMD и ENTRYPOINT в Dockerfile заключается в их назначении и поведении при запуске контейнера:
- ENTRYPOINT определяет команду, которая всегда будет выполняться при запуске контейнера. Её можно дополнить аргументами из
CMDили переопределить с помощьюdocker run --entrypoint.
- CMD предоставляет аргументы по умолчанию для
ENTRYPOINTили команду, которая выполнится, еслиENTRYPOINTне указан. АргументыCMDможно переопределить при запуске контейнера.
Пример:
dockerfile
# ENTRYPOINT + CMD
ENTRYPOINT ["echo", "Hello"]
CMD ["World"] # docker run → "Hello World"
# docker run myimage Python → "Hello Python"
# Только CMD
CMD ["echo", "Hello World"] # docker run → "Hello World"
# docker run myimage ls → выполнится `ls`Если ENTRYPOINT не указан, CMD определяет команду для запуска. Если ENTRYPOINT есть, CMD становится его аргументами по умолчанию.

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