Буватимуть випадки, коли вам потрібно буде запустити одноразовий процес/завдання для підтримки вашої програми. Це коли вам може знадобитися run або exec. Команда запуску розгорне новий контейнер для використання. Команда exec дозволить вам використовувати контейнер, який уже запущено.
docker run створює новий контейнер і додатково встановлює початкову команду для виконання всередині нього. Якщо жодна команда не вказана, буде використано значення за замовчуванням, задане Docker-файлом зображення контейнера. docker exec використовується для запуску додаткових команд всередині існуючих контейнерів.
«Бігати» означає керувати і людиною. Виконати означає втілити якусь інструкцію чи політику в дію.
Команда docker run створює та запускає новий контейнер із зображення, тоді як команда docker exec взаємодіє з уже запущеним контейнером.
Виконувати команди всередині існуючого контейнера kubectl exec відрізняється від kubectl run, оскільки він запускає команду всередині існуючого контейнера, а не створює новий контейнер для виконання.
Exec — це вбудована команда оболонки Bash, яка дозволяє виконати команду, яка повністю замінює поточний процес, тобто поточний процес оболонки буде знищено та повністю замінено командою, яку ви вкажете.