Василий
20 сентября 2024

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

Остановка по времени (в данном примере — через 30 секунд):

 docker stop -t 30 mycontainer

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

 

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

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

 docker restart mycontainer

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

 docker restart first_container second_container third_container

Перезапуск через определенное время:

 docker restart -t 30 mycontainer

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

 

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

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

 docker rm mycontainer

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

 docker rm first_container second_container third_container

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

 docker rm -f mycontainer

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

 

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

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

 docker ps

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

 docker ps -a

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

 docker ps -s

 

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

 

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

  • docker pull

 

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

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

 docker pull ubuntu

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

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

 docker pull ubuntu:20.04

 

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

  •  
  • docker build

 

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

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

 docker build -t myimage:latest .

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

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

 

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

  • docker push

 

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

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

 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. Тома в Docker представляют собой постоянные хранилища данных, которые используются контейнерами для хранения и обмена информацией между ними. Тома позволяют сохранять данные даже после удаления или перезапуска контейнеров.

  • docker volume create

 

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

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

 docker volume create myvolume

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

 docker volume create --driver local myvolume

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

 docker volume create --label mylabel=myvalue myvolume

  •  
  • Используется для привязки тома к контейнеру при запуске. Позволяет контейнеру получить доступ к постоянному хранилищу данных, предоставляемому томом.
  •  
  • docker run -v

 

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

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

 docker run -v myvolume:/data myimage

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

 docker run -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.

Комментарии:

Для того чтобы оставить комментарий войдите или зарегистрируйтесь!