Как управлять подключаемыми модулями Docker Engine – CloudSavvy IT
Docker Engine поддерживает систему плагинов, которая позволяет добавлять дополнительные функции в среду выполнения контейнера. Плагины для новых драйверов хранилищ, сетевых стеков и систем ведения журналов находятся в свободном доступе.
Современные версии Docker Engine включают все необходимое для управления плагинами в интерфейсе командной строки. В этом руководстве мы сконцентрируемся на этой «управляемой» системе плагинов. Вы должны вручную установить и поддерживать плагины, использующие устаревшую систему плагинов.
Все о плагинах
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Плагины расширяют Docker Engine новыми возможностями, которые слишком специфичны для стандартной установки. Обычно вы не взаимодействуете с плагинами напрямую. После установки плагина вы можете ссылаться на ресурсы, которые он предоставляет при выполнении существующих команд Docker.
Есть три основных типа плагинов:
- Ведение журнала – эти плагины добавляют новые драйверы ведения журнала, позволяя хранить журналы за пределами Docker Engine и вашего хост-компьютера.
- Сеть – Сетевые плагины могут добавлять поддержку новых типов сетей и связанных функций.
- Том – плагины хранилища предоставляют Docker дополнительные файловые системы и драйверы томов, предоставляя вам больше возможностей для постоянных данных.
Также доступны плагины с функциями, выходящими за рамки этих основных областей. Плагины созданы поставщиками сообщества; вы можете написать свой собственный, используя API общедоступных плагинов и Go SDK.
Плагины распространяются через Docker Hub. Вы можете найти доступные плагины, перейдя на страницу «Обзор» и выбрав вкладку «Плагины» вверху. В настоящее время доступно более 600 плагинов.
Если вы пишете свой собственный плагин, вы можете отправить его в Docker Hub с помощью команды docker plugin push. Это работает аналогично помещению образа в общедоступный реестр. Сначала вам нужно запустить docker plugin create, чтобы преобразовать манифест и файловую систему вашего плагина в пакет, готовый к отправке. Вы можете получить дополнительную информацию о создании плагинов в документации Docker.
Установка плагина
Плагины устанавливаются с помощью команды docker plugin install. Это принимает имя плагина Docker Hub в качестве аргумента:
докер плагин установить магазин / пример / пример-плагин: версия
Ссылки на подключаемые модули выглядят как ссылки на изображения, начинающиеся с store /. Те же принципы тегирования применяются при указании версии подключаемого модуля для установки. В отличие от изображений, вы не можете пропустить версию, чтобы автоматически получить последний тег.
Вы можете найти номер версии плагина и скопировать готовую к запуску команду установки, нажав кнопку «Инструкции по установке» на его странице Docker Hub. Бесплатные плагины позволят вам перейти на новый экран с обычным полем для копирования и вставки в правом верхнем углу. Запустите команду в своем терминале, чтобы начать установку плагина.
Плагины обычно запрашивают доступ к привилегиям хоста, чтобы они могли предоставить свои функции. Например, сетевой плагин должен иметь доступ к хост-сети Docker, чтобы он мог подключать новые ресурсы. Подтвердите запрос разрешения, набрав y и нажав Enter, чтобы завершить установку. Вы можете пропустить этот запрос, добавив флаг –grant-all-permissions к вашей команде установки; это идеально подходит для неинтерактивных установок, но существует риск непреднамеренного предоставления разрешений, если плагин обновляется с новыми возможностями.
Плагины автоматически включаются после установки. Включение плагина разрешает выполнение сценариев предварительной установки. Используйте флаг –disable, чтобы по умолчанию плагин был отключен, оставив его инертным до тех пор, пока он не будет вручную активирован позже.
Просмотр сведений о плагине
После установки ваш плагин будет отображаться при запуске docker plugin ls:
плагин докера ls
Более подробную информацию об отдельном плагине можно получить с помощью команды docker inspect. Он принимает идентификатор или тег подключаемого модуля и отображает подробный JSON, который описывает манифест подключаемого модуля:
докер проверить eccffc
Автономная установка
Docker CLI не имеет встроенного способа установки плагинов в автономном режиме. Тем не менее, вы можете добавить плагины в установку Docker с воздушным зазором, сначала установив их на сетевом клиенте, а затем скопировав файлы плагинов в автономную систему.
Вы найдете установленные плагины в каталоге / var / lib / docker / plugins на вашем хосте. Каждый плагин получает свой собственный подкаталог, названный своим идентификатором. Эти идентификаторы видны в выводе команды ls плагина docker.
Включение и отключение плагинов
Плагины могут быть включены или отключены. Вы увидите текущий статус в последнем столбце вывода ls. Отключенный плагин не будет загружен, поэтому он будет действовать так, как будто он не установлен.
Используйте команды docker plugin enable и docker plugin disable для изменения статуса плагина. Укажите идентификатор одного из установленных плагинов в качестве единственного аргумента команды:
плагин докера включить eccffc
Вам может быть запрещено отключить плагин, если он активно используется вашей конфигурацией Docker Engine или одним из ваших контейнеров. Добавление флага -f приведет к принудительному отключению плагина, но его следует использовать с осторожностью, поскольку вы рискуете непреднамеренным выходом из контейнера.
Плагины удаляются с помощью команды docker plugin rm. Укажите идентификатор или имя плагина, чтобы полностью удалить его из Docker. rm ведет себя так же, как disable, при работе с активно используемыми плагинами и последующим принудительным удалением.
Изменение настроек плагина
Система плагинов Docker включает в себя интегрированный механизм, позволяющий авторам плагинов предоставлять настраиваемые параметры. Как пользователь, вы можете изменить эти настройки с помощью команды docker plugin set:
набор плагинов для докеров example-plugin setting-key = new-value
Замените example-plugin идентификатором или названием плагина, на который вы нацеливаетесь. Значение настройки ключа настройки плагина будет обновлено до нового значения.
Доступные настройки, естественно, варьируются от плагина к плагину. Они должны быть задокументированы в описании плагина на Docker Hub. Docker CLI не имеет встроенной команды для просмотра всех доступных параметров плагина, но они отображаются в выводе проверки плагина docker. Найдите поле «Настройки» в JSON-представлении плагина; он будет содержать объекты с полями Name и Settable для параметров, которые вы можете изменить через интерфейс командной строки.
Обновление ваших плагинов
Плагины обновляются с помощью команды docker plugin update. Как и другие команды, он принимает в качестве аргумента идентификатор плагина или тег.
При обновлении плагина будет загружена и установлена последняя версия, доступная в Docker Hub. Если у вас уже установлена последняя версия, команда переустановит текущую версию. Вам будет предложено предоставить плагину все необходимые ему новые привилегии. Флаг –grant-all-permissions позволяет пропускать приглашение в средах, где интерактивный ввод невозможен.
Невозможно обновить все плагины в вашей системе с помощью одной команды. Лучше всего подписаться на объявления о выпуске от поставщиков ваших плагинов, а затем применять обновления к вашей установке по мере их появления. Это обеспечит безопасность и поддержку ваших плагинов.
Резюме
Экосистема плагинов Docker позволяет добавлять в Docker Engine дополнительные функции. Плагины находятся в Docker Hub и могут быть установлены с вашего терминала. Интерфейс командной строки включает средство обновления подключаемых модулей, но одновременно работает только с одним подключаемым модулем, а не со всем каталогом.
Теперь вы знаете, как использовать плагины и управлять ими, вы можете начать просматривать Docker Hub, чтобы найти варианты для улучшения вашего рабочего процесса. Плагин эластичного ведения журналов передает журналы контейнера Docker в кластер эластичного стека, vSphere для Docker позволяет использовать хранилище VMWare vSphere для ваших постоянных томов, а Weave Net обеспечивает поддержку многоадресной зашифрованной сети в Docker. Если вы не видите то, что вам нужно, используйте API плагина, чтобы попробовать написать собственное решение, которое вы можете опубликовать для более широкого сообщества через Hub.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)