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