Встречается на собеседованиях • сегодня

В чем разница между CMD и ENTRYPOINT в Docker

Оба инструкции определяют команду, которая выполняется при запуске контейнера, но есть ключевые различия: 1. **CMD** - предоставляет аргументы по умолчанию для ENTRYPOINT или команду, которая будет выполнена. Её можно переопределить при запуске контейнера через `docker run`. 2. **ENTRYPOINT** - определяет основную команду, которая всегда выполняется. Аргументы CMD добавляются к ENTRYPOINT, если он установлен. Переопределяется только с помощью `--entrypoint`. Пример с CMD: ```dockerfile FROM alpine CMD ["echo", "Hello from CMD"] ``` При запуске `docker run ` выведет "Hello from CMD", но можно переопределить: `docker run echo "Overridden"`. Пример с ENTRYPOINT: ```dockerfile FROM alpine ENTRYPOINT ["echo"] CMD ["Hello from ENTRYPOINT"] ``` Здесь `docker run ` выведет "Hello from ENTRYPOINT", а `docker run Overridden` выведет "Overridden", так как CMD заменяется.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы