Skip to content

Instantly share code, notes, and snippets.

@kdes70
Last active June 13, 2025 22:04
Show Gist options
  • Select an option

  • Save kdes70/aff655d0789e0b9adf844f71aea31d76 to your computer and use it in GitHub Desktop.

Select an option

Save kdes70/aff655d0789e0b9adf844f71aea31d76 to your computer and use it in GitHub Desktop.
Docker comand

Полезные команды Docker и системные утилиты

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

Основные операции с контейнерами

Запуск и остановка контейнеров

docker start [CONTAINER_NAME]
docker stop [CONTAINER_NAME]
docker restart [CONTAINER_NAME]

Создание и удаление контейнеров

docker run [OPTIONS] [IMAGE_NAME]
docker rm [CONTAINER_NAME]

Остановка и удаление всех контейнеров

docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)

Управление процессами внутри контейнера

docker exec -it [CONTAINER_NAME] [COMMAND]
docker attach [CONTAINER_NAME]

Получение информации о контейнерах

docker ps
docker logs [CONTAINER_NAME]
docker inspect [CONTAINER_NAME]

Копирование файлов между хостом и контейнером

docker cp [HOST_PATH] [CONTAINER_NAME]:[DESTINATION_PATH]
docker cp [CONTAINER_NAME]:[SOURCE_PATH] [HOST_DESTINATION_PATH]

Экспорт и импорт содержимого контейнера

docker export [CONTAINER_NAME] > [output_filename.tar]
cat [input_filename.tar] | docker import - [IMPORTED_IMAGE_NAME]

Работа с образами

Загрузка и выгрузка образов

docker load -i [path_to_image_file.tar]
docker save -o [output_filename.tar] [IMAGE_NAME]

Создание и переименование тегов

docker build -t [IMAGE_NAME]:[TAG] .
docker image tag [SOURCE_IMAGE]:[TAG] [TARGET_IMAGE]:[TAG]

Просмотр и удаление образов

docker images
docker rmi [IMAGE_NAME]

Работа с сетями

Создание и подключение к сетям

docker network create [NETWORK_NAME]
docker network connect [NETWORK_NAME] [CONTAINER_NAME]

Отключение от сети и просмотр информации

docker network disconnect [NETWORK_NAME] [CONTAINER_NAME]
docker network inspect [NETWORK_NAME]

Работа с томами

Создание и привязка томов

docker volume create [VOLUME_NAME]
docker run -v [VOLUME_NAME]:[CONTAINER_PATH] [IMAGE_NAME]

Просмотр информации о томах

docker volume inspect [VOLUME_NAME]

Очистка системы Docker

Удаление всех образов

docker rmi $(docker images -q)

Очистка системы Docker

docker system prune -af  # для Windows 10
docker system prune -af --filter "until=$((30*24))h"  # очистка за последние 30 дней

Просмотр старых образов

docker images | grep " [months|weeks]* ago" | awk '{print $3,$4,$5}'

Удаление всех сетей

docker network rm $(docker network ls -q)

Форматированный вывод списка контейнеров

docker ps --format "{{.Names}} | {{.Image}} | {{.Status}}"

Удаление неиспользуемых томов

docker system prune --all --force --volumes

Часто используемые команды

Заполнение базы данных MySQL в контейнере

docker exec -i [container_name] mysql -uroot -proot < /[name-dumpfile-db].sql

Создание псевдонима для быстрого доступа к контейнеру

alias phpd='docker-compose exec app'

Останавливаем все запущенные контейнеры

В Cmder

docker ps -aq | xargs -n 1 docker stop

В PowerShell

docker ps -a -q | ForEach { docker stop $_ }

Получение IP контейнера

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id

Освобождение занятого порта

docker stop $(docker ps -a -q); docker rm $(docker ps -a -q); docker volume rm $(docker volume ls -qf dangling=true)
docker network rm $(docker network ls -q)
sudo lsof -nP | grep LISTEN
sudo lsof -i -P -n | grep LISTEN
sudo netstat -tulpn | grep LISTEN
sudo ss -tulpn | grep LISTEN
sudo lsof -i:22  # проверка конкретного порта, например 22
sudo nmap -sTU -O IP-address-Here
sudo kill -9 1548  # принудительное завершение процесса

Проверить использование сетей Docker

for network in $(docker network ls --format "{{.Name}}"); do
    container_names=$(docker network inspect $network |
        jq -r '.[] | .Containers[] | .Name'
    )

    echo "$network:"
    if [ -z "$container_names" ]; then
        echo -e "\tNo containers"
    else
        while IFS= read -r line
        do
            echo -e "\t$line"
        done <<< "$container_names"
    fi
done

Получение IP-адреса в основной ОС Linux (Debian-based дистрибутивы)

hostname -I | cut -d ' ' -f1

Системные утилиты

Поиск процессов, слушающих определенный порт

lsof -i :[PORT_NUMBER]

Определение версии операционной системы

uname -a

Проверка наличия обновлений пакетов

apt update && apt list --upgradable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment