Жизненный цикл контейнера
Как смотреть список контейнеров, останавливать, запускать снова и удалять их.
Жизненный цикл контейнера — последовательность состояний: создан → запущен → остановлен → удалён.
Список контейнеров: docker ps
Команда docker ps показывает работающие контейнеры:
docker ps
Вывод:
CONTAINER ID IMAGE COMMAND STATUS PORTS NAMES 3f9a1c2b7e0d nginx "/docker-entrypoint.…" Up 2 minutes 0.0.0.0:8080->80/tcp my-web
Чтобы увидеть все контейнеры, включая остановленные, добавьте -a:
docker ps -a
Остановка и запуск
Остановить работающий контейнер по имени или ID:
docker stop my-web
Контейнер останавливается, но не исчезает — он переходит в состояние Exited и остаётся в docker ps -a. Его можно запустить снова, сохранив все изменения внутри:
docker start my-web
Перезапустить одной командой можно через docker restart my-web.
Удаление: docker rm
Остановленный контейнер удаляется командой docker rm:
docker rm my-web
Удалить работающий контейнер просто так нельзя — сначала stop, либо принудительно с флагом -f:
docker rm -f my-web
Удаление контейнера не удаляет образ — образ остаётся в системе, и из него можно поднять контейнер заново.
Полезная уборка
Со временем накапливаются остановленные контейнеры. Удалить все разом:
docker container prune
| Команда | Что делает |
docker ps | список работающих контейнеров |
docker ps -a | список всех контейнеров |
docker stop ИМЯ | остановить контейнер |
docker start ИМЯ | запустить остановленный контейнер |
docker rm ИМЯ | удалить остановленный контейнер |
Итог
docker psпоказывает работающие контейнеры, с-a— все.stopостанавливает,startзапускает снова, состояние сохраняется.rmудаляет контейнер, но образ при этом остаётся.