Docker — это популярная платформа, позволяющая разработчикам с легкостью управлять приложениями в изолированных окружениях. Платформа предоставляет мощные инструменты контейнеризации, что делает ее незаменимым инструментом в разработке современного программного обеспечения. Однако для ее эффективного использования необходимо знать основные команды, которые позволяют управлять контейнерами и их образами. В этой статье рассмотрим основные команды Docker, которые помогут вам начать работать с контейнерами.
Перенос серверов в облако
безопасно и с гарантией результата.
Предоставим грант до 1 000 000 ₽ на облачную
инфраструктуру и возьмем на себя весь процесс.
Основные команды Docker
Чтобы изучать команды Docker было удобнее, мы решили сделать несколько списков команд, разбив их на тематические группы. Вы узнаете, что делает определенная команда Docker, а затем будут приведены примеры кода для закрепления.
Команды для управления контейнерами
- docker run
Создает и запускает контейнер из образа. Принимает различные параметры и аргументы, которые определяют настройки контейнера.
Примеры использования:
Запуск контейнера в фоновом режиме, проброс порта с хоста на контейнер и передача переменной окружения:
Запуск контейнера с ограничением ресурсов, в данном примере — количества оперативной памяти:
- docker start
Запускает остановленный контейнер. Позволяет возобновить выполнение контейнера, который был ранее остановлен.
Примеры использования:
Запуск одного остановленного контейнера:
Запуск нескольких:
- docker stop
Останавливает работающий контейнер. Позволяет завершить выполнение контейнера и отключить его.
Примеры использования:
Остановка одного работающего контейнера:
Остановка нескольких:
- docker restart
Перезапускает контейнер. Позволяет остановить контейнер и затем опять запустить.
Примеры использования:
Перезапуск одного контейнера:
Перезапуск нескольких:
- docker rm
Удаляет один или несколько контейнеров, которые уже остановлены. Позволяет очистить систему от не используемых контейнеров.
Примеры использования:
Удаление одного контейнера:
Удаление нескольких:
Принудительное удаление (позволяет удалить контейнер, который выполняется в данный момент):
- docker ps
Отображает список активных контейнеров в системе. Позволяет получить различную информацию о работающих контейнерах, включая их ID, имена, статус, порты, использование ресурсов.
Примеры использования:
Отображение списка только работающих контейнеров:
Отображение списка всех (включая остановленные):
Отображение размера занимаемого дискового пространства:
Команды для управления образами
- docker pull
Загружает образы из удаленного репозитория Docker Hub. Позволяет получить доступ к готовым образам.
Если Docker Hub недоступен, можно использовать наш бесплатный прокси, который возобновляет этот доступ.
Примеры использования:
Загрузка последней версии Ubuntu:
Здесь ubuntu — это имя образа, но версия не указана, поэтому будет загружена последняя.
Загрузка определенной версии:
- docker build
Нужна для сборки пользовательского образа Docker на основе Dockerfile. Dockerfile — это текстовый файл с инструкциями для сборки образа, включая базовый образ, установку зависимостей, копирование файлов.
Примеры использования:
Сборка образа из текущего каталога, используя Dockerfile в этом каталоге:
Сборка образа из удаленного репозитория Git, который содержит Dockerfile:
- docker push
Загружает пользовательский образ в Docker Hub или другие хранилища образов. Позволяет делиться созданным образом с другими пользователями Docker.
Примеры использования:
Загрузка в репозиторий по умолчанию:
Загрузка в другое хранилище (в данном примере — репозиторий ECR):
- docker rmi
Удаляет образы с локального хоста. Позволяет освободить место, удалив не используемые или устаревшие образы.
Примеры использования:
Удаление одного образа:
Удаление нескольких:
- docker images
Выводит список образов, которые находятся на вашем локальном хосте. Она позволяет просматривать информацию о доступных образах: идентификаторы, размеры, теги и прочее.
Примеры использования:
Вывод всех образов:
Вывод образов по конкретному репозиторию:
Команды для управления хранилищами данных
- docker volume create
Создает новый том Docker. Тома в Docker представляют собой постоянные хранилища данных, которые используются контейнерами для хранения и обмена информацией между ними. Тома позволяют сохранять данные даже после удаления или перезапуска контейнеров.
Примеры использования:
Создание нового тома:
Создание с указанием драйвера:
Создание тома с добавлением меток:
- docker run -v
Используется для привязки тома к контейнеру при запуске. Позволяет контейнеру получить доступ к постоянному хранилищу данных, предоставляемому томом. В командах дополнительно используем ключ -d для запуска в фоне.
Примеры использования:
Привязка существующего тома:
Привязка тома с указанием дополнительных опций (например, read only — ro):
- docker volume rm
Удаляет том с локального хоста. При удалении все данные, связанные с этим томом, будут потеряны, поэтому будьте осторожны.
Примеры использования:
Удаление одного тома:
Удаление нескольких:
- docker volume ls
Используется для вывода списка всех доступных томов на локальном хосте. Позволяет просмотреть существующие тома и получить информацию о них, в том числе имена и идентификаторы.
Примеры использования:
Будет выведен список всех доступных томов на вашем локальном хосте. Результат будет содержать столбцы с информацией о каждом томе, включая их имена, идентификаторы и дополнительные сведения, если они есть. Пример вывода:
Команды 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.
Подготовили для вас выгодные тарифы на облачные серверы
477 ₽/мес
657 ₽/мес
Заключение
Мы рассмотрели основные команды Docker, которые позволяют управлять контейнерами и образами. Изучив эту платформу более глубоко, вы убедитесь в том, что Docker предоставляет мощные возможности для разработки, тестирования и развертывания приложений, обеспечивая эффективное использование ресурсов и изоляцию приложений. Желаем успехов!
