Базовые команды Docker
💡 Синтаксис Docker CLI:
Например:
docker <команда> [опции] [аргументы]Например:
docker run -d -p 80:80 nginx
docker run — запустить контейнер
Создаёт и запускает новый контейнер из образа.
# Терминал
docker run hello-world
docker run -it ubuntu bash
docker run -d -p 80:80 nginx
docker run -d --name my-nginx -p 8080:80 nginx
| Флаг | Значение |
|---|---|
-d | Detached — запустить в фоне |
-it | Interactive + TTY — интерактивный терминал |
-p host:container | Пробросить порт хоста в контейнер |
--name | Задать имя контейнеру |
--rm | Автоматически удалить контейнер после остановки |
-e VAR=value | Установить переменную окружения |
docker pull — скачать образ
Загружает образ из реестра (Docker Hub по умолчанию).
# Терминал
docker pull nginx
docker pull nginx:1.25
docker pull ubuntu:22.04
docker pull python:3.12-slim
💡 Формат тега:
image:tag. Без тега скачивается :latest.
docker images — список образов
Показывает все локально скачанные образы.
# Терминал
docker images
docker images nginx
docker images --format "{{.Repository}}:{{.Tag}}"
| Столбец | Значение |
|---|---|
| REPOSITORY | Имя образа |
| TAG | Версия/тег |
| IMAGE ID | Уникальный ID |
| CREATED | Дата создания |
| SIZE | Размер образа |
docker ps — список контейнеров
Показывает запущенные (и все) контейнеры.
# Терминал
docker ps # только запущенные
docker ps -a # все контейнеры
docker ps -q # только ID
docker stop / docker start — остановка и запуск
# Терминал
docker stop <id или имя>
docker stop my-nginx
docker start my-nginx
docker rm / docker rmi — удаление
# Терминал
docker rm <id> # удалить контейнер (должен быть остановлен)
docker rm -f <id> # принудительно удалить (force)
docker rmi nginx # удалить образ
docker rmi nginx:1.25 # удалить конкретный тег
⚠️ Важно:
docker rm удаляет контейнер, docker rmi — образ. Нельзя удалить образ, если от него зависит контейнер (даже остановленный).
docker logs — просмотр логов
# Терминал
docker logs <id>
docker logs my-nginx
docker logs -f my-nginx # follow — следить в реальном времени
docker logs --tail 100 <id> # последние 100 строк
docker exec — выполнить команду в контейнере
# Терминал
docker exec my-nginx ls /etc/nginx
docker exec -it my-nginx bash # интерактивный shell
docker exec -it my-nginx sh # для alpine-образов (нет bash)
docker inspect — подробная информация
# Терминал
docker inspect <id или имя>
docker inspect my-nginx
Возвращает JSON с полной конфигурацией контейнера: IP-адрес, тома, переменные окружения и многое другое.
docker info / docker version — информация о системе
# Терминал
docker --version # версия Docker CLI
docker version # версия Client и Server/Daemon
docker info # полная информация о системе Docker