Основные команды Docker — шпаргалка с примерами

Все нужные команды Docker с пояснениями и примерами. Сохрани в закладки — пригодится каждый день.

Вся рубрика Docker: уроки, команды и практические сценарии

Команды для работы с контейнерами

# Список запущенных контейнеров
docker ps

# Список всех контейнеров (включая остановленные)
docker ps -a

# Запустить контейнер из образа
docker run nginx

# Запустить в фоне (-d) с именем (--name)
docker run -d --name my-nginx nginx

# Запустить с пробросом портов (-p host:container)
docker run -d -p 8080:80 --name my-web nginx
# Открыть: http://localhost:8080

# Запустить интерактивный терминал (-it)
docker run -it ubuntu bash

# Запустить и удалить после остановки (--rm)
docker run --rm ubuntu echo "Привет!"

# Остановить контейнер
docker stop my-nginx

# Запустить остановленный контейнер
docker start my-nginx

# Перезапустить контейнер
docker restart my-nginx

# Удалить остановленный контейнер
docker rm my-nginx

# Принудительно удалить (даже работающий)
docker rm -f my-nginx

# Удалить все остановленные контейнеры
docker container prune

Команды для работы с образами

# Скачать образ
docker pull ubuntu:22.04
docker pull nginx:latest
docker pull python:3.12-slim

# Список образов на машине
docker images

# Удалить образ
docker rmi ubuntu:22.04

# Удалить все неиспользуемые образы
docker image prune

# Найти образ в Docker Hub
docker search nginx

# Собрать образ из Dockerfile в текущей папке
docker build -t myapp:1.0 .

# Собрать с другим Dockerfile
docker build -t myapp:prod -f Dockerfile.prod .

# Добавить тег образу
docker tag myapp:1.0 myusername/myapp:1.0

# Загрузить образ в Docker Hub
docker push myusername/myapp:1.0

# История слоёв образа
docker history myapp:1.0

Команды внутри контейнера

# Выполнить команду в работающем контейнере
docker exec my-nginx ls /etc/nginx

# Войти в интерактивную оболочку
docker exec -it my-nginx bash
docker exec -it my-nginx sh  # если bash нет (Alpine)

# Скопировать файл из контейнера на хост
docker cp my-nginx:/etc/nginx/nginx.conf ./nginx.conf

# Скопировать файл с хоста в контейнер
docker cp ./my-config.conf my-nginx:/etc/nginx/conf.d/

Логи и мониторинг

# Просмотр всех логов
docker logs my-nginx

# Следить в реальном времени (как tail -f)
docker logs -f my-nginx

# Последние 100 строк + следить
docker logs --tail 100 -f my-nginx

# С временными метками
docker logs --timestamps my-nginx

# Логи за последние 30 минут
docker logs --since 30m my-nginx

# Статистика ресурсов (CPU, RAM, сеть)
docker stats
docker stats my-nginx

# Подробная информация о контейнере
docker inspect my-nginx

# Процессы внутри контейнера
docker top my-nginx

Команды для volumes

# Создать volume
docker volume create mydata

# Список volumes
docker volume ls

# Информация о volume
docker volume inspect mydata

# Удалить volume
docker volume rm mydata

# Удалить все неиспользуемые volumes
docker volume prune

# Запустить контейнер с named volume
docker run -d -v mydata:/app/data myapp

# Запустить с bind mount (папка с хоста)
docker run -d -v $(pwd):/app myapp

# Только для чтения
docker run -d -v $(pwd)/config:/app/config:ro myapp

Команды для сетей

# Список сетей
docker network ls

# Создать сеть
docker network create mynet

# Информация о сети
docker network inspect mynet

# Подключить контейнер к сети
docker network connect mynet my-container

# Отключить от сети
docker network disconnect mynet my-container

# Запустить контейнер в сети
docker run -d --network mynet myapp

# Удалить сеть
docker network rm mynet

# Удалить неиспользуемые сети
docker network prune

Системные команды

# Версия Docker
docker version

# Информация о системе
docker info

# Занятое место
docker system df

# Очистить всё неиспользуемое
# (остановленные контейнеры + dangling образы + неиспользуемые сети)
docker system prune

# Очистить всё включая volumes
docker system prune -a --volumes

# Войти в Docker Hub
docker login

# Выйти
docker logout

Шпаргалка — самые нужные команды

ДействиеКоманда
Список контейнеровdocker ps -a
Запустить контейнерdocker run -d -p 8080:80 --name web nginx
Войти в контейнерdocker exec -it имя bash
Остановитьdocker stop имя
Удалитьdocker rm имя
Логиdocker logs -f имя
Список образовdocker images
Скачать образdocker pull ubuntu:22.04
Собрать образdocker build -t имя:тег .
Удалить образdocker rmi имя:тег
Список volumesdocker volume ls
Информация о контейнереdocker inspect имя
Статистика ресурсовdocker stats
Очистить всёdocker system prune -a

Часто задаваемые вопросы

Как посмотреть все контейнеры Docker?

docker ps — только запущенные. docker ps -a — все, включая остановленные и завершившиеся. Флаги: -q выводит только ID (удобно для скриптов: docker rm $(docker ps -aq)), -f status=exited фильтрует по статусу, --format настраивает формат вывода.

Как остановить все контейнеры одной командой?

Два способа: docker stop $(docker ps -q) — остановить все запущенные (graceful shutdown). docker kill $(docker ps -q) — принудительно прибить все (SIGKILL). Для одновременного остановки и удаления: docker rm -f $(docker ps -aq). Осторожно: это остановит всё включая системные контейнеры если запускаешь на сервере с другими сервисами.

Как удалить все образы Docker?

docker image prune -a — удалить все неиспользуемые образы (у которых нет запущенных контейнеров). docker rmi $(docker images -q) — удалить все образы принудительно. Перед удалением — docker system df покажет сколько места они занимают. Если образ используется контейнером — сначала удалить контейнер: docker rm -f container_name.

Оцените статью
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x