Повторный запуск контейнера в Docker
Повторный запуск включает уже
существующий остановленный контейнер.
Новая копия из образа при этом
не создаётся.
Имя и файлы остановленной записи
на диске ещё есть.
Команда docker run с тем же именем
попыталась бы создать вторую копию
и получила бы отказ: имя занято.
Поднимает ту же запись другая команда. Она стартует главный процесс заново: то же имя, те же файлы, тот же идентификатор. Так сохраняется то, что программа уже успела записать внутри копии.
Создадим фоновый контейнер
clock на пять минут:
docker run -d --name clock alpine sleep 300
Остановим его, чтобы было что включать заново:
docker stop clock
Включим ту же запись.
Служба вернёт имя clock:
docker start clock
В списке запущенных будет одна
строка clock со статусом
Up.
Если бы мы снова выполнили
docker run --name clock ...,
служба отказала бы: имя уже занято
этой же копией.
Откроем список:
docker ps
Если контейнера bell нет, сначала запустите его в фоне из alpine на две минуты, затем остановите.
Снова включите bell и убедитесь, что в списке запущенных одна строка с этим именем.