Встречается на собеседованиях • сегодня
В чем разница между 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 заменяется.

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