docker run создаёт новый контейнер из образа и запускает его основной процесс. docker exec запускает дополнительную команду в уже работающем контейнере.
Чем отличаются команды docker run и docker exec?
docker run создаёт новый контейнер из образа и запускает его основной процесс. docker exec запускает дополнительную команду в уже работающем контейнере.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
docker run создаёт новый контейнер из образа и запускает его основной процесс. docker exec запускает дополнительную команду в уже работающем контейнере.
Например, run используют для старта приложения с портами, переменными и томами, а exec — для диагностической команды внутри существующего экземпляра.
exec не создаёт новый контейнер и требует, чтобы основной контейнер был запущен. Изменения внутри его файловой системы не становятся автоматически новой версией образа. Для воспроизводимой конфигурации меняют Dockerfile или параметры запуска, а не вручную настраивают работающий контейнер.