Создание и остановка контейнера
На этом шаге вы узнаете, как создать и остановить Docker-контейнер. Контейнер — это запускаемый экземпляр образа. Вы можете создавать, запускать, останавливать, перемещать или удалять контейнеры с помощью Docker API или CLI.
Сначала загрузим образ hello-world
из Docker Hub. Это очень маленький образ, полезный для тестирования.
docker pull hello-world
Вы должны увидеть вывод, указывающий на загрузку и извлечение образа.
Using default tag: latest
latest: Pulling from library/hello-world
...
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest
Теперь создадим и запустим контейнер из образа hello-world
. При выполнении этой команды Docker создаст новый контейнер и выполнит команду, указанную в образе. В случае с hello-world
команда просто выводит сообщение и завершает работу.
docker run hello-world
Вы должны увидеть вывод, похожий на этот:
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
Этот вывод подтверждает, что контейнер успешно запустился и вывел сообщение. Поскольку команда в контейнере завершилась, контейнер остановился.
Чтобы увидеть контейнеры в вашей системе, включая остановленные, используйте команду docker ps -a
.
docker ps -a
Вы увидите список контейнеров. Контейнер hello-world
должен быть в списке, а его статус — Exited
.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
... hello-world "/hello" About a minute ago Exited (0) 58 seconds ago ...
Теперь создадим ещё один контейнер, но на этот раз используем образ ubuntu
и выполним команду, которая будет поддерживать работу контейнера в течение короткого времени. Мы воспользуемся командой sleep
, чтобы контейнер работал 10 секунд.
Сначала загрузим образ ubuntu
:
docker pull ubuntu
Вы должны увидеть вывод, указывающий на загрузку образа.
Using default tag: latest
latest: Pulling from library/ubuntu
...
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
Теперь запустим контейнер из образа ubuntu
и выполним команду sleep 10
. Мы запустим его в фоновом режиме (-d
), чтобы контейнер работал в фоне и не блокировал терминал.
docker run -d ubuntu sleep 10
Эта команда выведет ID контейнера.
[container_id]
Используйте docker ps
, чтобы увидеть запущенные контейнеры.
docker ps
Вы должны увидеть контейнер ubuntu
в списке со статусом Up
.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[container_id] ubuntu "sleep 10" About a minute ago Up 5 seconds ...
Примерно через 10 секунд команда sleep 10
завершится, и контейнер остановится. Снова используйте docker ps -a
, чтобы увидеть все контейнеры, включая остановленный.
docker ps -a
Теперь контейнер ubuntu
должен иметь статус Exited
.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[container_id] ubuntu "sleep 10" About a minute ago Exited (0) 5 seconds ago ...
...
Наконец, остановим контейнер ubuntu
вручную с помощью команды docker stop
. Вы можете остановить работающий контейнер по его ID или имени. Мы используем ID контейнера, который был выведен при его запуске. Замените [container_id]
на фактический ID вашего контейнера ubuntu
.
docker stop [container_id]
Эта команда выведет ID остановленного контейнера.
[container_id]
Снова используйте docker ps
, чтобы убедиться, что контейнер больше не работает.
docker ps
Контейнер ubuntu
не должен отображаться в списке запущенных контейнеров.