Docker — это популярная платформа, позволяющая разработчикам с легкостью управлять приложениями в изолированных окружениях. Платформа предоставляет мощные инструменты контейнеризации, что делает ее незаменимым инструментом в разработке современного программного обеспечения. Однако для ее эффективного использования необходимо знать основные команды, которые позволяют управлять контейнерами и их образами. В этой статье рассмотрим основные команды Docker, которые помогут вам начать работать с контейнерами.
cloud
Чтобы изучать команды Docker было удобнее, мы решили сделать несколько списков команд, разбив их на тематические группы. Вы узнаете, что делает определенная команда Docker, а затем будут приведены примеры кода для закрепления.
Создает и запускает контейнер из образа. Принимает различные параметры и аргументы, которые определяют настройки контейнера.
Примеры использования:
Запуск контейнера в фоновом режиме, проброс порта с хоста на контейнер и передача переменной окружения:
docker run -d -p 8080:80 -e ENV_VAR=value nginx
Запуск контейнера с ограничением ресурсов, в данном примере — количества оперативной памяти:
docker run --memory=2g myimage
Запускает остановленный контейнер. Позволяет возобновить выполнение контейнера, который был ранее остановлен.
Примеры использования:
Запуск одного остановленного контейнера:
docker start mycontainer
Запуск нескольких:
docker start first_container second_container third_container
Останавливает работающий контейнер. Позволяет завершить выполнение контейнера и отключить его.
Примеры использования:
Остановка одного работающего контейнера:
docker stop mycontainer
Остановка нескольких:
docker stop first_container second_container third_container
Остановка по времени (в данном примере — через 30 секунд):
docker stop -t 30 mycontainer
Перезапускает контейнер. Позволяет остановить контейнер и затем опять запустить.
Примеры использования:
Перезапуск одного контейнера:
docker restart mycontainer
Перезапуск нескольких:
docker restart first_container second_container third_container
Перезапуск через определенное время:
docker restart -t 30 mycontainer
Удаляет один или несколько контейнеров, которые уже остановлены. Позволяет очистить систему от не используемых контейнеров.
Примеры использования:
Удаление одного контейнера:
docker rm mycontainer
Удаление нескольких:
docker rm first_container second_container third_container
Принудительное удаление (позволяет удалить контейнер, который выполняется в данный момент):
docker rm -f mycontainer
Отображает список активных контейнеров в системе. Позволяет получить различную информацию о работающих контейнерах, включая их ID, имена, статус, порты, использование ресурсов.
Примеры использования:
Отображение списка только работающих контейнеров:
docker ps
Отображение списка всех (включая остановленные):
docker ps -a
Отображение размера занимаемого дискового пространства:
docker ps -s
Загружает образы из удаленного репозитория Docker Hub. Позволяет получить доступ к готовым образам.
Если Docker Hub недоступен, можно использовать наш бесплатный прокси, который возобновляет этот доступ.
Примеры использования:
Загрузка последней версии Ubuntu:
docker pull ubuntu
Здесь ubuntu
— это имя образа, но версия не указана, поэтому будет загружена последняя.
Загрузка определенной версии:
docker pull ubuntu:20.04
Нужна для сборки пользовательского образа Docker на основе Dockerfile. Dockerfile — это текстовый файл с инструкциями для сборки образа, включая базовый образ, установку зависимостей, копирование файлов.
Примеры использования:
Сборка образа из текущего каталога, используя 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 username/myimage:1.0
Загрузка в другое хранилище (в данном примере — репозиторий ECR):
docker push myecr/myimage:latest
Удаляет образы с локального хоста. Позволяет освободить место, удалив не используемые или устаревшие образы.
Примеры использования:
Удаление одного образа:
docker rmi myimage:1.0
Удаление нескольких:
docker rmi myimage:1.0 myotherimage:latest
Выводит список образов, которые находятся на вашем локальном хосте. Она позволяет просматривать информацию о доступных образах: идентификаторы, размеры, теги и прочее.
Примеры использования:
Вывод всех образов:
docker images
Вывод образов по конкретному репозиторию:
docker images myrepository/myimage
Создает новый том Docker. Тома в Docker представляют собой постоянные хранилища данных, которые используются контейнерами для хранения и обмена информацией между ними. Тома позволяют сохранять данные даже после удаления или перезапуска контейнеров.
Примеры использования:
Создание нового тома:
docker volume create myvolume
Создание с указанием драйвера:
docker volume create --driver local myvolume
Создание тома с добавлением меток:
docker volume create --label mylabel=myvalue myvolume
Используется для привязки тома к контейнеру при запуске. Позволяет контейнеру получить доступ к постоянному хранилищу данных, предоставляемому томом.
Примеры использования:
Привязка существующего тома:
docker run -v myvolume:/data myimage
Привязка тома с указанием дополнительных опций (например, read only
):
docker run -v myvolume:/data:ro myimage
Удаляет том с локального хоста. При удалении все данные, связанные с этим томом, будут потеряны, поэтому будьте осторожны.
Примеры использования:
Удаление одного тома:
docker volume rm myvolume
Удаление нескольких:
docker volume rm first_volume second_volume third_volume
Используется для вывода списка всех доступных томов на локальном хосте. Позволяет просмотреть существующие тома и получить информацию о них, в том числе имена и идентификаторы.
Примеры использования:
docker volume ls
Будет выведен список всех доступных томов на вашем локальном хосте. Результат будет содержать столбцы с информацией о каждом томе, включая их имена, идентификаторы и дополнительные сведения, если они есть. Пример вывода:
DRIVER VOLUME NAME
local myvolume1
local myvolume2
Docker Compose работает поверх Docker и позволяет управлять множеством контейнеров в рамках одного проекта. Давайте рассмотрим основные команды (принципы работы большинства из них вам уже знакомы):
Подготовили для вас выгодные тарифы на облачные серверы
Мы рассмотрели основные команды Docker, которые позволяют управлять контейнерами и образами. Изучив эту платформу более глубоко, вы убедитесь в том, что Docker предоставляет мощные возможности для разработки, тестирования и развертывания приложений, обеспечивая эффективное использование ресурсов и изоляцию приложений. Желаем успехов!