Понимание назначения команды docker start
На этом шаге мы разберём назначение команды docker start
. Команда docker start
используется для запуска одного или нескольких остановленных контейнеров. Когда вы останавливаете контейнер с помощью docker stop
, его состояние сохраняется, и позже вы можете возобновить его работу с помощью docker start
. Это отличается от docker run
, который создаёт новый контейнер из образа и затем запускает его.
Сначала создадим простой контейнер, который можно остановить, а затем запустить. Мы будем использовать образ ubuntu
и выполним команду, которая будет поддерживать работу контейнера в течение короткого времени.
docker run -d --name my-ubuntu ubuntu sleep 60
Эта команда запускает контейнер Ubuntu в detached mode (фоновом режиме) (-d
), присваивает ему имя my-ubuntu
и выполняет внутри контейнера команду sleep 60
. Команда sleep 60
будет поддерживать работу контейнера в течение 60 секунд.
Теперь проверим статус контейнера с помощью docker ps
.
docker ps
Вы должны увидеть контейнер my-ubuntu
в списке со статусом Up
.
Далее остановим контейнер с помощью команды docker stop
.
docker stop my-ubuntu
Эта команда отправляет сигнал остановки контейнеру my-ubuntu
.
Теперь снова проверим статус контейнера с помощью docker ps
.
docker ps
Вы увидите, что контейнер my-ubuntu
больше не отображается в выводе docker ps
(который показывает только работающие контейнеры). Чтобы увидеть все контейнеры, включая остановленные, используйте docker ps -a
.
docker ps -a
Теперь вы должны увидеть my-ubuntu
в списке со статусом Exited
. Это подтверждает, что контейнер был остановлен.
Наконец, используем команду docker start
для запуска остановленного контейнера.
docker start my-ubuntu
Эта команда запускает контейнер my-ubuntu
.
Проверим статус контейнера в последний раз с помощью docker ps
.
docker ps
Вы снова увидите контейнер my-ubuntu
в списке со статусом Up
. Это демонстрирует, что docker start
успешно возобновил работу ранее остановленного контейнера.
Подводя итог: docker start
используется для возобновления работы остановленного контейнера с сохранением его состояния, тогда как docker run
создаёт и запускает новый контейнер.