Skip to content

Команды Docker объяснённые

Команды Docker для повседневной работы, сгруппированные по задачам: сборка и перемещение образов, запуск и остановка контейнеров, настройка docker run флагами, чтение логов и статистики, доступ внутрь контейнера, копирование файлов и работа с реестрами, управление томами и сетями, управление Compose и освобождение места на диске.

В Docker два вида объектов: образы (шаблон только для чтения) и контейнеры (запущенный экземпляр образа). Вы собираете или скачиваете образ, запускаете его как контейнер, смотрите, что происходит, а затем наводите порядок. Большинство также использует Compose для описания многоконтейнерных приложений. У каждой команды ниже есть короткая форма; длинная показана там, где она яснее.

Справочная таблица · 75 записи
75 of 75 rows
Сборка
Собирает образ из Dockerfile.docker build -t app:1.0 .
Собирает образ заново с нуля, игнорируя кэшированные слои.docker build --no-cache -t app:1.0 .
Собирает только до именованного этапа в многоэтапном Dockerfile.docker build --target deps -t app:deps .
Собирает образы через плагин buildx, который управляет BuildKit.docker buildx build -t app:1.0 .
Собирает один образ под несколько архитектур CPU.docker buildx build --platform linux/amd64,linux/arm64 -t app:1.0 --push .
Образы
Скачивает образ из реестра.docker pull node:20
Показывает список локально сохранённых образов.docker images
Создаёт новый тег, указывающий на тот же образ.docker tag app:1.0 app:latest
Удаляет один или несколько локальных образов.docker rmi app:1.0
Жизненный цикл контейнера
Создаёт и запускает контейнер из образа.docker run -p 8080:3000 app
Создаёт контейнер, не запуская его.docker create --name web app
Запускает остановленный контейнер.docker start web
Аккуратно останавливает работающий контейнер.docker stop web
Останавливает и запускает контейнер за один шаг.docker restart web
Принудительно останавливает контейнер, не дожидаясь корректного завершения.docker kill web
Замораживает все процессы внутри контейнера.docker pause web
Размораживает процессы приостановленного контейнера.docker unpause web
Блокирует выполнение до остановки контейнера, затем выводит код выхода.docker wait web
Показывает работающие контейнеры; добавьте -a, чтобы включить остановленные.docker ps -a
Даёт существующему контейнеру новое имя.docker rename web web-old
Меняет лимиты ресурсов или политику перезапуска контейнера.docker update --restart=unless-stopped web
Удаляет остановленный контейнер.docker rm web
Флаги запуска
Запускает контейнер в фоне и выводит его ID.docker run -d -p 8080:80 app
Публикует порт контейнера на порту хоста.docker run -p 8080:80 app
Монтирует папку хоста или именованный том в контейнер.docker run -v app-data:/data app
Задаёт переменную окружения в контейнере.docker run -e MODE=prod app
Даёт контейнеру фиксированное имя для последующих команд.docker run --name web app
Удаляет контейнер после его завершения.docker run --rm app
Запускает контейнер в конкретной сети.docker run --network net app
Сообщает Docker, когда перезапускать контейнер.docker run --restart unless-stopped app
Выделяет терминал и держит stdin открытым для интерактивной сессии.docker run -it alpine sh
Заменяет entrypoint образа собственной командой.docker run --entrypoint sh app
Ограничивает память или долю CPU, доступные контейнеру.docker run --memory 512m --cpus 0.5 app
Инспектирование
Читает stdout и stderr контейнера; -f следит за новым выводом по мере появления.docker logs -f web
Показывает низкоуровневую конфигурацию и состояние контейнера или образа.docker inspect web
Извлекает одно поле из inspect с помощью шаблона Go.docker inspect --format '{{.State.Status}}' web
Показывает порты хоста, которые публикует контейнер.docker port web
Показывает файлы, изменённые контейнером по сравнению с его образом.docker diff web
CPU, память и сеть в реальном времени для работающих контейнеров.docker stats
Показывает процессы, запущенные внутри контейнера.docker top web
Передаёт события Docker от демона в реальном времени.docker events --filter type=container
Показывает место на диске, занятое образами, контейнерами, томами и кэшем.docker system df
Показывает настройки и состояние Docker во всей системе.docker info
Exec и attach
Запускает команду внутри работающего контейнера.docker exec -it web sh
Подключает ваш терминал к главному процессу контейнера.docker attach web
Файлы и реестр
Копирует файлы между контейнером и локальной файловой системой.docker cp web:/app/logs ./logs
Выполняет вход в реестр из CLI.docker login
Выходит из реестра.docker logout
Загружает локальный образ в реестр.docker push user/app:1.0
Записывает образ в tar-файл.docker save -o app.tar app:1.0
Читает образ из tar-файла.docker load -i app.tar
Записывает файловую систему контейнера в tar-файл.docker export web > web.tar
Создаёт образ из tar-файловой системы.docker import web.tar web:snap
Превращает текущее состояние контейнера в новый образ.docker commit web app:snap
Тома
Создаёт именованный том для постоянных данных.docker volume create data
Показывает список томов.docker volume ls
Удаляет том.docker volume rm data
Сети
Показывает список сетей.docker network ls
Создаёт сеть, чтобы контейнеры могли обращаться друг к другу.docker network create net
Подключает работающий контейнер к сети.docker network connect net web
Compose
Собирает, (пере)создаёт и запускает сервисы из compose.yaml; -d оставляет их работать в фоне.docker compose up -d
Запускает сервисы и сначала пересобирает их образы.docker compose up --build -d
Запускает команду внутри работающего контейнера сервиса.docker compose exec api sh
Следит за логами одного или нескольких сервисов.docker compose logs -f api
Показывает контейнеры сервисов, которыми управляет Compose.docker compose ps
Останавливает контейнеры сервисов, не удаляя их.docker compose stop
Перезапускает контейнеры сервисов.docker compose restart api
Останавливает и удаляет контейнеры и сети; -v удаляет также именованные тома.docker compose down
Показывает итоговую конфигурацию Compose после слияний и подстановки переменных окружения.docker compose config
Очистка
Удаляет остановленные контейнеры, висячие образы и неиспользуемые сети; -a --volumes удаляет также неиспользуемые образы и тома.docker system prune -af
Удаляет все остановленные контейнеры.docker container prune
Удаляет неиспользуемые или висячие образы.docker image prune -a
Удаляет тома, которые не использует ни один контейнер.docker volume prune
Удаляет сети, которые не использует ни один контейнер.docker network prune
Удаляет кэшированные слои сборки.docker builder prune