Docker — это платформа, которая помогает разработчикам создавать и развертывать контейнерные приложения. Он помогает решить проблемы совместимости операционных систем, предоставляя облегченные виртуализированные среды для управления этими приложениями.
Основной интерфейс командной строки (CLI) Docker предоставляет разработчикам, работающим с контейнерами, мощные инструменты. Начиная с базовой команды docker
CLI поддерживает около 60 подкоманд, большинство из которых принимают ряд аргументов командной строки для решения различных задач.
Знакомство с Docker CLI
Ваша среда Docker может представлять собой Docker Engine с открытым исходным кодом или удобный графический интерфейс Docker Desktop. CLI будет вашим основным интерфейсом в среде Docker Engine, но вы также получите доступ к инструменту командной строки, если установите Docker Desktop.
Мы думаем, что даже пользователи Docker Desktop освоят интерфейс командной строки, как только ознакомятся хотя бы с этими 20 основными docker
команды.
Команды Docker, которые вы должны знать
Давайте углубимся и выясним, с какими командами Docker вы должны быть знакомы лучше всего.
1. докер-система
docker system
Команда помогает проверять среду Docker и управлять ею. Он поддерживает аргументы командной строки для выполнения конкретных задач, связанных с управлением, в том числе:
df
показывает, как вы используете дискprune
удаляет неиспользуемые сети, контейнеры, изображения или томаinfo
показывает информацию, связанную с системойevents
отображает журнал системных событий в режиме реального времени
Ниже приведено начальное приглашение после выполнения docker system prune
.
2. контекст докера
Эта команда помогает вам перемещаться и настраивать различные контексты. В Docker контексты включают имена, информацию о безопасности транспортного уровня, конфигурации конечных точек и оркестраторы.
Некоторые из docker context
аргументы:
ls
отображает детали контекста по умолчаниюосмотреть [CONTEXT}
inspects a specified contextcreate [CONTEXT]
создает новый контекстuse [CONTEXT]
переключается между контекстами
Ниже приведен пример вывода из docker context ls
:
3. докер приостановить и возобновить паузу
docker pause
команда замораживает активные процессы контейнера. Чтобы запустить его, необходимо указать имя контейнера, как показано ниже:
docker pause [CONTAINER]
Ниже приведен пример вывода, который можно ожидать после приостановки контейнера.
docker unpause
команда возобновляет приостановленные процессы контейнера. Как и в предыдущей команде, необходимо указать имя контейнера, как показано ниже:
docker unpause [CONTAINER]
Ниже приведен пример вывода, который вы можете ожидать после снятия контейнера с паузы.
4. докер РМ
Эта команда удаляет контейнеры, тома и сети. Он позволяет выбрать компонент для удаления на основе его атрибутов. Например, вы можете принудительно удалить работающие контейнеры или все указанные контейнеры:
docker rm [CONTAINER]
удаляет контейнер, имя которого указано. Вывод этой команды показан на снимке экрана ниже.
5. докер рми
Вы используете эту команду для удаления изображений. Вы можете удалить одно изображение или несколько изображений одновременно. Вы можете описать изображение, которое нужно удалить, используя короткий или длинный идентификатор. Команда важна для поддержания чистоты и эффективности хост-узла.
Команда удаления изображения использует следующую структуру:
docker rmi [IMAGE ID]
Ниже приведен пример его вывода.
6. том докера
Эта команда позволяет вам управлять томами в Docker. Вы можете использовать его для создания, удаления, составления списка и проверки томов.
Некоторые из docker volume
аргументы такие:
create [OPTIONAL NAME]
создает новый том. Вы можете указать имя тома или позволить Docker сгенерировать случайное имя.ls
перечисляет доступные томаinspect [NAME]
показывает подробную информацию об объеме.rm [NAME]
удаляет том из Docker.
Ниже приведен пример вывода после создания тома.
7. поиск докера
Используйте эту команду для поиска изображений в Docker Hub, которые затем можно запускать как контейнеры на своем компьютере. Он позволяет вам получить доступ к образам реестра Docker Hub, не посещая веб-сайт.
Команда имеет следующую структуру: docker search
. Вы можете указать названия изображений, которые ищете, или создать фильтр.
Ниже приведен пример вывода следующего запроса:
docker search --filter is-official=true --filter stars=500 mysql
8. нажатие докера
docker push
Команда позволяет вам делиться своими изображениями в реестре Docker Hub или частном репозитории.
Структура команды следующая:
docker push [OPTIONS] NAME[:TAG]
[OPTIONS]
позволяет вам установить -disable-content-trust
.
По умолчанию это значение истинно, и включать его не обязательно.
NAME[:TAG]
требует использования имени реестра, репозитория и тега изображения.
Ниже приведен пример вывода из docker push
.
9. докер
Эта команда загружает образ Docker из репозитория в частном или общедоступном реестре.
Команда работает следующим образом:
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
Эта команда позволяет вам использовать существующие изображения вместо создания новых всякий раз, когда вам необходимо создать контейнерное приложение.
В примере ниже показаны выходные данные docker pull
команда:
10. докер пс
По умолчанию эта команда отображает список всех запущенных контейнеров. Однако вы можете добавить флаг для отображения контейнеров на основе таких атрибутов, как размер использования диска, связанные контейнеры и метки.
Команда имеет следующую структуру:
docker ps [OPTIONS]
Некоторые из его аргументов включают в себя:
-a
отображает список запущенных и вышедших контейнеров-s
отображает размер каждого контейнера на диске и виртуальный размер
Вы можете использовать их вместе следующим образом:
docker ps -as
Ниже приведен пример вывода из docker ps
команда.
11. тег докера
Используйте этот тег, чтобы добавить к изображению метаданные, например версию. Теги обычно создаются при создании изображения, но docker tag
Команда позволяет вам добавить тег позже, по сути создавая псевдоним для целевого изображения.
Эта команда имеет следующую структуру:
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
В приведенном ниже примере мы перечисляем изображения с именем «redis». После пометки изображения номером версии («2.0») в списке появляются новый псевдоним и изображение с исходной меткой.
12. переименование докера
Используйте эту команду, чтобы переименовать контейнер. Это полезно, если у вас есть несколько контейнеров и вы хотите различать их по назначению.
Эта команда имеет следующую структуру:
docker rename [OLD_NAME] [NEW_NAME]
Ниже приведен пример вывода до и после docker rename
команда.
13. коммит докера
Эта команда позволяет создавать новые изображения после внесения изменений в файлы контейнера. Это важно, поскольку позволяет отлаживать контейнер с помощью интерактивной оболочки.
Эта команда имеет следующую структуру:
docker commit [CONTAINER_ID] [name-of-new-image]
Ниже приведен пример и вывод docker commit
command.
14. сеть докеров
Это команда управления сетью, которая позволяет создавать мощные приложения путем подключения сервисов и контейнеров.
Команда имеет следующую структуру:
docker network [OPTIONS]
Его аргументы включают в себя:
connect
для подключения контейнеров к сетямcreate
для построения новых сетейdisconnect
для отключения запущенных контейнеров от сетейrm
для удаления одной или нескольких сетей
Ниже приведены результаты docker network create
команда.
15. история докера
Эта команда предоставляет историю указанного изображения, помогая понять, как оно было создано, и отображает размер изображения.
Команда имеет следующую структуру:
docker history [IMAGE]
Ниже мы видим историю, связанную с изображением redis:latest
.
16. обновление докера
Эта команда позволяет обновить конфигурацию контейнера. Это помогает предотвратить потребление контейнерами слишком большого количества ресурсов хоста Docker. Формат команды:
docker update [OPTIONS] [CONTAINER]
Некоторые из его вариантов включают в себя:
--restart
обновляет политику перезапуска контейнера--memory
устанавливает ограничение памяти контейнера--cpus
устанавливает количество выделенных процессоров
Ниже приведен пример вывода из docker update
команда.
17. установка плагина докера
Эта команда позволяет управлять плагинами. Это важно, поскольку позволяет добавлять новые функции без изменения конфигурации хоста Docker.
docker plugin
аргументы включают в себя:
create
для создания новых плагиновenable
для включения установленных плагиновinstall
для установки новых плагиновrm
для удаления одного или нескольких плагиновls
для отображения списка плагинов
Ниже мы используем docker plugin install
чтобы добавить плагин в нашу среду. Затем мы используем docker plugin ls
раскрыть свой статус.
18. докер-контейнер
Эта команда позволяет управлять контейнерами. Вы используете его, среди прочего, для выполнения таких действий, как создание, уничтожение и удаление контейнеров.
docker container
варианты включают в себя:
create
для создания контейнераcommit
для создания нового образа после изменений в контейнереexec
для выполнения команд внутри работающего контейнераkill
для остановки работающего контейнераls
для отображения списка контейнеров на хосте Dockerrestart
для перезапуска контейнераrun
для создания контейнера из образа и его запускаrm
для удаления контейнера с хоста Docker
Ниже приведен пример вывода из docker container
команда.
19. журналы докера
Эта команда извлекает журналы из контейнера. Это дает представление об операциях контейнера, что может быть важно при отладке.
Ниже приведен пример вывода из docker logs
команда.
20. рой докеров
Эта команда помогает управлять роем Docker — группой компьютеров (виртуальных или физических), на которых работает Docker и настроенных для совместной работы в кластере. Эта команда позволяет легко настроить рой и воспользоваться его преимуществами.
Ниже приведены некоторые из docker swarm
параметры:
init
для начала рояjoin
за присоединение к роюleave
за то, что оставил ройupdate
для обновления роя
Ниже приведен пример и вывод docker swarm init
команда.
Краткое содержание
Docker — эффективный инструмент для создания контейнерных приложений и управления ими. Простые для понимания команды интерфейса командной строки упрощают создание и управление даже сложными приложениями.
Освоение 20 приведенных выше команд может ускорить разработку ваших контейнерных приложений.
В Kinsta многие клиенты управляемого хостинга WordPress используют наши инструменты DevKinsta на базе Docker-Desktop для разработки и развертывания своих веб-сайтов.
Клиенты службы хостинга приложений Kinsta могут работать с Docker и своим любимым провайдером Git (Bitbucket, GitHub или GitLab) для контроля версий исходного кода и быстрого развертывания контейнерных приложений.
Стив Бонистил
Кинста
Стив Бонистил — технический редактор Kinsta, который начал свою писательскую карьеру в качестве печатного журналиста, гоняясь за машинами скорой помощи и пожарными машинами. Он освещает технологии, связанные с Интернетом, с конца 1990-х годов.