{/ Эта страница автоматически создается на основе файла SKILL.md навыка с помощью сайта site/scripts/generate-skill-docs.py. Редактируйте исходный код SKILL.md, а не эту страницу. /}
Управление докером
Управляйте контейнерами Docker, изображениями, томами, сетями и стеками Compose — операциями жизненного цикла, отладкой, очисткой и оптимизацией Dockerfile.
Метаданные навыков
Источник
Необязательно — установите с помощью hermesskills installofficial/devops/docker-management
Ниже приведено полное определение навыка, которое Гермес загружает при активации этого навыка. Это то, что агент видит в качестве инструкций, когда навык активен.
Управление докером
Управляйте контейнерами Docker, изображениями, томами, сетями и стеками Compose с помощью стандартных команд Docker CLI. Никаких дополнительных зависимостей, кроме самого Docker.
Когда использовать
Запуск, остановка, перезапуск, удаление или проверка контейнеров.
Создавайте, извлекайте, отправляйте, помечайте или очищайте образы Docker.
Работа с Docker Compose (мультисервисные стеки)
Управление томами или сетями
Отладка сбойного контейнера или анализ логов
Проверьте использование диска Docker или освободите место.
Просмотрите или оптимизируйте файл Dockerfile.
Предварительные условия
Docker Engine установлен и работает.
Пользователь добавлен в группу docker (или используйте sudo).
Docker Compose v2 (входит в состав современных установок Docker)
Тома и сети → создание, проверка, изменение, обрезка, подключение
Устранение неполадок → анализ журналов, коды выхода, проблемы с ресурсами.
2. Операции с контейнерами
Запустите новый контейнер:
# Detached service with port mapping
dockerrun-d--nameweb-p8080:80nginx
# With environment variables
dockerrun-d-ePOSTGRES_PASSWORD=secret-ePOSTGRES_DB=mydb--namedbpostgres:16
# With persistent data (named volume)
dockerrun-d-vpgdata:/var/lib/postgresql/data--namedbpostgres:16
# For development (bind mount source code)
dockerrun-d-v$(pwd)/src:/app/src-p3000:3000--namedevmy-app
# Interactive debugging (auto-remove on exit)
dockerrun-it--rmubuntu:22.04/bin/bash
# With resource limits and restart policy
dockerrun-d--memory=512m--cpus=1.5--restart=unless-stopped--nameappmy-app
Ключевые флаги: -d отключен, -it интерактивный+tty, --rm автоматическое удаление, -p порт (хост:контейнер), -e env var, -v том, --name имя, --restart политика перезапуска.
dockerexec-itNAME/bin/sh# shell access (use /bin/bash if available)
dockerexecNAMEenv# view environment variables
dockerexec-urootNAMEaptupdate# run as specific user
dockerlogs--tail100-fNAME# follow last 100 lines
dockerlogs--since2hNAME# logs from last 2 hours
dockercpNAME:/path/file./local# copy file from container
dockercp./fileNAME:/path/# copy file to container
dockerinspectNAME# full container details (JSON)
dockerstats--no-stream# resource usage snapshot
dockertopNAME# running processes
3. Управление изображениями
# Build
dockerbuild-tmy-app:latest.
dockerbuild-tmy-app:prod-fDockerfile.prod.
dockerbuild--no-cache-tmy-app.# clean rebuildDOCKER_BUILDKIT=1dockerbuild-tmy-app.# faster with BuildKit# Pull and push
dockerpullnode:20-alpine
dockerloginghcr.io
dockertagmy-app:latestregistry/my-app:v1.0
dockerpushregistry/my-app:v1.0
# Inspect
dockerimages# list local images
dockerhistoryIMAGE# see layers
dockerinspectIMAGE# full details# Cleanup
dockerimageprune# remove dangling (untagged) images
dockerimageprune-a# remove ALL unused images (careful!)
dockerimageprune-a--filter"until=168h"# unused images older than 7 days
4. Docker Compose
# Start/stop
dockercomposeup-d# start all services detached
dockercomposeup-d--build# rebuild images before starting
dockercomposedown# stop and remove containers
dockercomposedown-v# also remove volumes (DESTROYS DATA)# Monitoring
dockercomposeps# list services
dockercomposelogs-fapi# follow logs for specific service
dockercomposelogs--tail50# last 50 lines all services# Interaction
dockercomposeexecapi/bin/sh# shell into running service
dockercomposerun--rmapinpmtest# one-off command (new container)
dockercomposerestartapi# restart specific service# Validation
dockercomposeconfig# validate and view resolved config
# Volumes
dockervolumels# list volumes
dockervolumecreatemydata# create named volume
dockervolumeinspectmydata# details (mount point, etc.)
dockervolumermmydata# remove (fails if in use)
dockervolumeprune# remove unused volumes# Networks
dockernetworkls# list networks
dockernetworkcreatemynet# create bridge network
dockernetworkinspectmynet# details (connected containers)
dockernetworkconnectmynetNAME# attach container to network
dockernetworkdisconnectmynetNAME# detach container
dockernetworkrmmynet# remove network
dockernetworkprune# remove unused networks
6. Использование и очистка диска
Перед чисткой всегда начинайте с диагностики:
# Check what's using space
dockersystemdf# summary
dockersystemdf-v# detailed breakdown# Targeted cleanup (safe)
dockercontainerprune# stopped containers
dockerimageprune# dangling images
dockervolumeprune# unused volumes
dockernetworkprune# unused networks# Aggressive cleanup (confirm with user first!)
dockersystemprune# containers + images + networks
dockersystemprune-a# also unused images
dockersystemprune-a--volumes# EVERYTHING — named volumes too
Внимание! Никогда не запускайте команду docker system prune -a --volumes без подтверждения пользователя. При этом будут удалены именованные тома с потенциально важными данными.