Этот справочник поможет быстро вспомнить основные команды для работы с контейнерами Docker и методы эффективной очистки системы. Здесь собраны инструменты для управления жизненным циклом ресурсов и удаления неиспользуемых данных.
Групповые операции
Для применения команды сразу к нескольким объектам перечислите их имена или ID через пробел.
docker [команда] container1 container2 container3
Просмотр контейнеров
Вывод списка только запущенных контейнеров:
docker ps
Вывод всех существующих контейнеров (включая остановленные):
docker ps -a
Вывод только ID контейнеров (полезно для скриптов):
docker ps -q
Управление состоянием
Запуск, остановка и перезагрузка:
docker start [ID/NAME] # Запустить
docker stop [ID/NAME] # Остановить
docker restart [ID/NAME] # Перезапустить
Взаимодействие и отладка
Просмотр логов (вывод приложения внутри контейнера):
docker logs [ID/NAME]
docker logs -f [ID/NAME] # Режим слежения (live)
Запуск терминала внутри работающего контейнера:
docker exec -it [ID/NAME] sh
Удаление и очистка (Prune)
Команды prune позволяют массово удалять неиспользуемые (“висячие”) ресурсы.
Удаление контейнеров
Удаление конкретных объектов:
docker rm [ID/NAME]
docker rm -f [ID/NAME] # Принудительное удаление
Массовое удаление всех остановленных контейнеров:
docker container prune
Варианты очистки других ресурсов
Очистка образов, томов и сетей:
docker image prune # Удалить неиспользуемые образы
docker volume prune # Удалить неиспользуемые тома данных
docker network prune # Удалить неиспользуемые сети
Полная очистка системы
Удаление всех неиспользуемых данных (контейнеры, сети, “висячие” образы):
docker system prune
Глубокая очистка (включая все неиспользуемые образы и тома):
docker system prune -a --volumes
Автоматизация
Пример остановки всех запущенных контейнеров:
docker stop $(docker ps -q)
Оценка использования диска
Перед очисткой полезно узнать, сколько места занимают ресурсы Docker:
docker system df
Для подробного анализа (с разбиением по каждому объекту):
docker system df -v
Мониторинг ресурсов
Отслеживание потребления CPU, оперативной памяти и сетевого трафика в реальном времени:
docker stats
Тонкая очистка и важные предупреждения
Использование фильтров
Вы можете удалять ресурсы, созданные более определенного времени назад (например, более 24 часов):
docker container prune --filter "until=24h"
docker image prune -a --filter "until=168h" # старше недели
⚠️ ВНИМАНИЕ
Использование команды docker system prune --volumes или флаг --volumes при полной очистке безвозвратно удаляет все тома (Volumes), которые не используются запущенными контейнерами. Это может привести к потере важных данных БД или пользовательских файлов, если они не примонтированы к активному процессу.
Управление сетями (Networking)
Создание и инспекция сетей для связи между контейнерами:
docker network create [NAME] # Создать сеть
docker network ls # Список всех сетей
docker network inspect [NAME] # Детальная информация о сети
docker network rm [NAME] # Удалить сеть
Переменные окружения (Env)
Передача настроек внутрь контейнера при запуске:
# Одиночная переменная
docker run -e MY_VAR=value [IMAGE]
# Использование файла с переменными (.env)
docker run --env-file .env [IMAGE]
Работа с образами (Images)
Жизненный цикл образов:
docker pull [IMAGE]:[TAG] # Скачать образ из реестра
docker images # Список локальных образов
docker build -t [NAME]:[TAG] . # Сборка образа из Dockerfile в текущей папке
docker push [NAME]:[TAG] # Отправить образ в реестр
docker rmi [IMAGE_ID] # Удалить локальный образ