Введение в контейнеры в Docker
Обычных запуска, остановки и удаления хватает, пока контейнер ведёт себя тихо. Программа завершается сама, имя освобождают без споров, логи читаются обычным способом. Так бывает у большинства коротких проверок и простых служб.
Другое дело, когда главный процесс завис или не реагирует на вежливую остановку. Тогда ждать бесконечно нельзя: нужен резкий обрыв, иначе имя и запись на диске останутся занятыми. То же с удалением, если программа ещё крутится, а копию уже нужно убрать с компьютера.
Иногда файл нужен снаружи контейнера или наоборот - положить файл внутрь, не открывая оболочку и не создавая новую копию. Тогда переносят один путь на другой напрямую, минуя интерактивный вход. Это удобно для конфигов, отчётов и маленьких правок.
Пауза замораживает процессы, не завершая их. Запись в списке остаётся, но время внутри копии будто остановилось. Это не то же самое, что обычная остановка: после неё процесс поднимают заново, а после паузы он продолжает с того же места.
Копия поверх образа меняет файлы: что-то добавляют, что-то стирают. Служба умеет показать такой снимок изменений - что отличилось от исходного шаблона. Из текущих файлов иногда делают новый образ или архив на диске компьютера, если нужен запасной след работы, а не только живая копия.
Ещё есть настройки, которые реже трогают на старте: куда складывать текст программы, и нужно ли поднимать контейнер снова, если процесс упал или перезагрузилась сама служба. Все эти ситуации решают отдельными короткими приёмами, не смешивая их с обычным запуском и остановкой.