Список основных команд для работы с 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-канале
