До 12.5 млн токенов на тест ИИ-агента
Вход/ Регистрация

Основные команды Docker, которые вам необходимо знать для эффективной работы

20605
7 минут чтения

Docker — это популярная платформа, позволяющая разработчикам с легкостью управлять приложениями в изолированных окружениях. Платформа предоставляет мощные инструменты контейнеризации, что делает ее незаменимым инструментом в разработке современного программного обеспечения. Однако для ее эффективного использования необходимо знать основные команды, которые позволяют управлять контейнерами и их образами. В этой статье рассмотрим основные команды Docker, которые помогут вам начать работать с контейнерами.

Основные команды Docker

Чтобы изучать команды Docker было удобнее, мы решили сделать несколько списков команд, разбив их на тематические группы. Вы узнаете, что делает определенная команда Docker, а затем будут приведены примеры кода для закрепления.

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

  • docker run

Создает и запускает контейнер из образа. Принимает различные параметры и аргументы, которые определяют настройки контейнера.

Примеры использования:

Запуск контейнера в фоновом режиме, проброс порта с хоста на контейнер и передача переменной окружения:

    
docker run -d -p 8080:80 -e ENV_VAR=value nginx

Запуск контейнера с ограничением ресурсов, в данном примере — количества оперативной памяти:

    
docker run --memory=2g myimage
  • docker start

Запускает остановленный контейнер. Позволяет возобновить выполнение контейнера, который был ранее остановлен.

Примеры использования:

Запуск одного остановленного контейнера:

    
docker start mycontainer

Запуск нескольких:

    
docker start first_container second_container third_container
  • docker stop

Останавливает работающий контейнер. Позволяет завершить выполнение контейнера и отключить его.

Примеры использования:

Остановка одного работающего контейнера:

    
docker stop mycontainer

Остановка нескольких:

    
docker stop first_container second_container third_container
  • docker restart

Перезапускает контейнер. Позволяет остановить контейнер и затем опять запустить.

Примеры использования:

Перезапуск одного контейнера:

    
docker restart mycontainer

Перезапуск нескольких:

    
docker restart first_container second_container third_container
  • docker rm

Удаляет один или несколько контейнеров, которые уже остановлены. Позволяет очистить систему от не используемых контейнеров.

Примеры использования:

Удаление одного контейнера:

    
docker rm mycontainer

Удаление нескольких:

    
docker rm first_container second_container third_container

Принудительное удаление (позволяет удалить контейнер, который выполняется в данный момент):

    
docker rm -f mycontainer
  • docker ps

Отображает список активных контейнеров в системе. Позволяет получить различную информацию о работающих контейнерах, включая их ID, имена, статус, порты, использование ресурсов.

Примеры использования:

Отображение списка только работающих контейнеров:

    
docker ps

Отображение списка всех (включая остановленные):

    
docker ps -a

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

    
docker ps -s

Команды для управления образами

  • docker pull

Загружает образы из удаленного репозитория Docker Hub. Позволяет получить доступ к готовым образам.

Если Docker Hub недоступен, можно использовать наш бесплатный прокси, который возобновляет этот доступ. 

Примеры использования:

Загрузка последней версии Ubuntu:

    
docker pull ubuntu

Здесь ubuntu — это имя образа, но версия не указана, поэтому будет загружена последняя.

Загрузка определенной версии:

    
docker pull ubuntu:20.04
  • docker build

Нужна для сборки пользовательского образа Docker на основе Dockerfile. Dockerfile — это текстовый файл с инструкциями для сборки образа, включая базовый образ, установку зависимостей, копирование файлов.

Примеры использования:

Сборка образа из текущего каталога, используя Dockerfile в этом каталоге:

    
docker build -t myimage:latest .

Сборка образа из удаленного репозитория Git, который содержит Dockerfile:

    
docker build -t myimage:latest https://github.com/username/repo.git#branch
  • docker push

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

Примеры использования:

Загрузка в репозиторий по умолчанию:

    
docker push username/myimage:1.0

Загрузка в другое хранилище (в данном примере — репозиторий ECR):

    
docker push myecr/myimage:latest
  • docker rmi

Удаляет образы с локального хоста. Позволяет освободить место, удалив не используемые или устаревшие образы.

Примеры использования:

Удаление одного образа:

    
docker rmi myimage:1.0

Удаление нескольких:

    
docker rmi myimage:1.0 myotherimage:latest
  • docker images

Выводит список образов, которые находятся на вашем локальном хосте. Она позволяет просматривать информацию о доступных образах: идентификаторы, размеры, теги и прочее.

Примеры использования:

Вывод всех образов:

    
docker images

Вывод образов по конкретному репозиторию:

    
docker images myrepository/myimage

Команды для управления хранилищами данных

  • docker volume create

Создает новый том Docker. Тома в Docker представляют собой постоянные хранилища данных, которые используются контейнерами для хранения и обмена информацией между ними. Тома позволяют сохранять данные даже после удаления или перезапуска контейнеров.

Примеры использования:

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

    
docker volume create myvolume

Создание с указанием драйвера:

    
docker volume create --driver local myvolume

Создание тома с добавлением меток:

    
docker volume create --label mylabel=myvalue myvolume
  • docker run -v

Используется для привязки тома к контейнеру при запуске. Позволяет контейнеру получить доступ к постоянному хранилищу данных, предоставляемому томом. В командах дополнительно используем ключ -d для запуска в фоне.

Примеры использования:

Привязка существующего тома:

    
docker run -d -v myvolume:/data myimage

Привязка тома с указанием дополнительных опций (например, read only — ro):

    
docker run -d -v myvolume:/data:ro myimage
  • docker volume rm

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

Примеры использования:

Удаление одного тома:

    
docker volume rm myvolume

Удаление нескольких:

    
docker volume rm first_volume second_volume third_volume
  • docker volume ls

Используется для вывода списка всех доступных томов на локальном хосте. Позволяет просмотреть существующие тома и получить информацию о них, в том числе имена и идентификаторы.

Примеры использования:

    
docker volume ls

Будет выведен список всех доступных томов на вашем локальном хосте. Результат будет содержать столбцы с информацией о каждом томе, включая их имена, идентификаторы и дополнительные сведения, если они есть. Пример вывода:

    
DRIVER    VOLUME NAME local     myvolume1 local     myvolume2

Команды Docker Compose

Docker Compose работает поверх Docker и позволяет управлять множеством контейнеров в рамках одного проекта. Давайте рассмотрим основные команды (принципы работы большинства из них вам уже знакомы):

  • docker-compose up — запускает приложение со всеми контейнеры, информация о которых есть в docker-compose.yml. Если файл не указан, по умолчанию используется файл в текущем каталоге;
  • docker-compose down — останавливает и удаляет все контейнеры, а также тома, связанные с ними;
  • docker-compose start — запускает остановленные контейнеры;
  • docker-compose stop — останавливает работу запущенных контейнеров без их удаления;
  • docker-compose restart — перезапускает контейнеры;
  • docker-compose build — позволяет обновить образы или создать их заново, если они были изменены;
  • docker-compose logs — выводит журналы состояния;
  • docker-compose ps — отображает текущее состояние контейнеров;
  • docker-compose pull — загружает последние версии образов для сервисов, описанных в файле docker-compose.yml.

Подготовили для вас выгодные тарифы на облачные серверы

Premium 3.3 ГГц
Москва
12 мес Скидка 10%
MSK 40

900 ₽/мес

Процессор
2 x 3.3 ГГц
Память
2 ГБ
NVMe
40 ГБ
Канал
1 Гбит/с
Публичный IP
Выбор клиентов
MSK 50

1 080 ₽/мес

Процессор
2 x 3.3 ГГц
Память
4 ГБ
NVMe
50 ГБ
Канал
1 Гбит/с
Публичный IP

Заключение

Мы рассмотрели основные команды Docker, которые позволяют управлять контейнерами и образами. Изучив эту платформу более глубоко, вы убедитесь в том, что Docker предоставляет мощные возможности для разработки, тестирования и развертывания приложений, обеспечивая эффективное использование ресурсов и изоляцию приложений. Желаем успехов!

20605
7 минут чтения
Средний рейтинг статьи: 3.4
Предыдущая статья
Следующая статья

Читайте также

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
Пока нет комментариев