Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация

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

19156
7 минут чтения
Средний рейтинг статьи: 3.4

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

Перенос серверов в облако

Перенесем вашу инфраструктуру в облако — быстро,
безопасно и с гарантией результата.

Предоставим грант до 1 000 000 ₽ на облачную
инфраструктуру и возьмем на себя весь процесс.

Основные команды 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.

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

Cloud MSK 15

477 ₽/мес

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

657 ₽/мес

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

Заключение

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

19156
7 минут чтения
Средний рейтинг статьи: 3.4

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

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