Пост

Список основных команд для работы с Docker

Шпаргалка по работе с образами, контейнерами, томами и сетями в Docker

🔷 Images

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# список образов
docker images

# скачиваем образ из Docker Hub
docker pull <name>

# собираем образ из Dockerfile в текущей директории
docker build .
# с присвоением тега
docker build -t <name>:<tag> .
# с указанием пути до Dockerfile
docker build -f path/to/Dockerfile

# удаляем образ по id
docker rmi <image_id>

🔷 Containers

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# список всех запущенных контейнеров
docker ps

# список всех контейнеров, в том числе остановленных
docker ps -a

# запускаем контейнер по id или имени
docker start <name / id>

# останавливаем контейнер
docker stop <name / id>

# перезапускаем контейнер
docker restart <name / id>

# удаляем контейнер
docker rm <name / id>

# создаем и запускаем новый контейнер в фоновом режиме с загрузкой образа если необходимо
docker run -d --name <container_name> <image_name>
# с пробросом портов
docker run -d -p <host_port>:<container_port> <image_name>
# с монтированием директории или тома
docker run -d -v <host_dir / volume>:<container_dir> <image_name>

# подключаемся к запущенному контейнеру
docker attach <name / id>

# подключаем к контейнеру с созданием новой shell сессии
docker exec -it <container name / id> sh

🔷 Сбор информации о контейнерах

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# смотрим логи контейнера
docker logs <name / id>
# в реальном времени
docker logs -f <name / id>
# последние 10 строк логов
docker logs -n 10 <name / id>

# системные ресурсы, используемые контейнером
docker stats <name / id>

# запущенные процессы в контейнере
docker top <name / id>

# детальная информация о контейнере
docker inspect <name / id>

🔷 Volumes

1
2
3
4
5
6
7
8
9
10
11
# список томов
docker volume ls

# создаем том
docker volume create <name>

# информация о томе
docker volume inspect <name>

# удаляем том
docker volume rm <name>

🔷 Networks

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# список сетей
docker network ls

# создаем новую сеть
docker network create <network_name>

# подключаем контейнер к сети
docker network connect <network_name> <container name / id>

# отключаем контейнер от сети
docker network disconnect <network_name> <container name / id>

# информация о сети
docker network inspect <network_name>

# удаляем сеть
docker network rm <network_name>

🔷 Docker compose

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# запускаем сервисы, указанные в docker-compose.yml / compose.yml
docker compose up
# в фоновом режиме
docker compose up -d
# с пересборкой образов, если были какие-либо изменения
docker compose up -d --build
# с принудительным пересозданием контейнеров, даже если не было изменений
docker compose up -d --build --force-recreate
# с удалением контейнеров, которых нет в compose, но были при предыдущих запусках
docker compose up -d --remove-orphans

# останавливаем и удаляем контейнеры, сети, тома и образы, созданные при up
docker compose down

# список запущенных сервисов через compose
docker compose ps

# список всех запущенных проектов compose
docker compose ls

# собираем / пересобираем образы
docker compose build

# смотрим логи сервисов
docker compose logs

🔷 Системная информация

1
2
3
4
5
# общая информация
docker system info

# занятое дисковое пространство
docker system df

🔷 Очистка

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# удаляем все dangling (без тегов и ни к чему не привязанные) образы
docker image prune
# удаляем все неиспользуемые образы, в том числе dangling
docker image prune -a

# удаляем все остановленные контейнеры
docker container prune

# удаляем неиспользуемые контейнерами тома
docker volume prune

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

# очищаем builder кэш
docker builder prune

# очищаем все неиспользуемое - образы, контейнеры, сети, кэш, тома
docker system prune
Больше полезной информации в Telegram-канале