Как использовать команду docker plugin set для изменения настроек плагина

DockerDockerBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабораторном занятии вы узнаете, как использовать команду docker plugin set для изменения настроек плагина Docker. Сначала мы проверим начальную конфигурацию плагина с помощью команды docker plugin inspect, чтобы понять его текущее состояние.

После проверки вы попрактикуетесь в изменении различных настроек плагина, включая переменные окружения, источник монтирования, путь к устройству и источник аргументов, используя для этого команду docker plugin set. Этот практический опыт продемонстрирует гибкость и контроль, которые вы можете иметь над поведением плагинов Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") subgraph Lab Skills docker/ls -.-> lab-555195{{"Как использовать команду docker plugin set для изменения настроек плагина"}} docker/inspect -.-> lab-555195{{"Как использовать команду docker plugin set для изменения настроек плагина"}} end

Проверка начальных настроек плагина

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

Мы будем использовать команду docker plugin inspect для просмотра деталей конкретного плагина. В этом лабораторном занятии мы будем использовать плагин vieux/sshfs в качестве примера. Этот плагин позволяет монтировать удаленные SSH-системы файлов в контейнеры.

Сначала убедимся, что плагин vieux/sshfs установлен и включен. Если он не установлен, вы можете установить его с помощью команды docker plugin install.

docker plugin install vieux/sshfs:latest

Эта команда устанавливает плагин vieux/sshfs из Docker Hub. Тег :latest указывает на последнюю версию плагина.

После установки плагина вы можете проверить его статус с помощью команды docker plugin ls.

docker plugin ls

Вы должны увидеть запись vieux/sshfs:latest со значением ENABLED равным true.

Теперь проверим настройки плагина с помощью команды docker plugin inspect.

docker plugin inspect vieux/sshfs:latest

Эта команда выведет подробный JSON-объект, содержащий все конфигурационные детали плагина vieux/sshfs. Этот вывод включает информацию о идентификаторе плагина, его имени, статусе включения, настройках и т.д.

Прокрутите вывод, чтобы увидеть различные параметры конфигурации, доступные для этого плагина. Обратите внимание на раздел Settings, который содержит конкретные параметры конфигурации, которые можно изменить.

Изменение переменной окружения с помощью команды docker plugin set

На этом этапе мы узнаем, как изменить переменную окружения для плагина Docker с помощью команды docker plugin set. Изменение настроек плагина позволяет настроить его поведение в соответствии с вашими конкретными потребностями.

Прежде чем мы сможем изменить настройки плагина, его необходимо отключить. Нельзя изменять настройки включенного плагина. Мы продолжим использовать плагин vieux/sshfs в качестве примера.

Сначала отключим плагин vieux/sshfs.

docker plugin disable vieux/sshfs:latest

Эта команда отключает указанный плагин. Вы можете убедиться, что плагин отключен, запустив команду docker plugin ls еще раз. Статус ENABLED для vieux/sshfs:latest должен теперь быть false.

Теперь, когда плагин отключен, мы можем изменить переменную окружения. Плагин vieux/sshfs имеет переменную окружения DEBUG, которая управляет выводом отладочной информации. По умолчанию, скорее всего, она установлена в false. Изменим ее на true.

docker plugin set vieux/sshfs:latest DEBUG=true

Эта команда устанавливает переменную окружения DEBUG для плагина vieux/sshfs:latest в значение true. Формат установки переменных: PLUGIN_NAME VARIABLE_NAME=VALUE.

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

docker plugin inspect vieux/sshfs:latest

Найдите раздел Settings в JSON-выводе. Вы должны увидеть запись для Env, которая представляет собой список переменных окружения. Переменная DEBUG теперь должна быть установлена в true.

Наконец, после внесения необходимых изменений вы можете снова включить плагин.

docker plugin enable vieux/sshfs:latest

Проверьте, что плагин включен, используя команду docker plugin ls.

Изменение источника монтирования с помощью команды docker plugin set

На этом этапе мы узнаем, как изменить источник монтирования для плагина Docker с помощью команды docker plugin set. Некоторые плагины требуют доступа к определенным каталогам или файлам на хост-системе. Эти доступы настраиваются как монтирование (mount).

Как и при изменении переменных окружения, вы должны отключить плагин, прежде чем сможете изменить его настройки монтирования. Мы продолжим использовать плагин vieux/sshfs.

Сначала убедитесь, что плагин vieux/sshfs отключен. Если вы включили его на предыдущем этапе, отключите его сейчас.

docker plugin disable vieux/sshfs:latest

Проверьте, что плагин отключен, используя команду docker plugin ls.

Плагин vieux/sshfs требует доступа к файлу /etc/ssh/ssh_known_hosts на хост-системе для проверки идентификации SSH-сервера, к которому он подключается. Это настроено как монтирование. Изменим исходный путь этого монтирования.

Мы изменим исходный путь с /etc/ssh/ssh_known_hosts на /root/.ssh/known_hosts. Примечание: В реальной ситуации вы должны убедиться, что целевой файл существует и имеет правильные разрешения. В этом лабораторном занятии мы сосредотачиваемся на синтаксисе команды.

docker plugin set vieux/sshfs:latest Mounts[0].Source=/root/.ssh/known_hosts

Эта команда устанавливает поле Source первого монтирования (Mounts[0]) для плагина vieux/sshfs:latest в значение /root/.ssh/known_hosts. Синтаксис Mounts[0] ссылается на первый элемент в массиве Mounts в настройках плагина. Вы можете найти индекс монтирования, которое вы хотите изменить, проверив конфигурацию плагина.

После изменения источника монтирования проверьте настройки плагина, чтобы подтвердить изменения.

docker plugin inspect vieux/sshfs:latest

Просмотрите раздел Settings и найдите массив Mounts. Поле Source для первого монтирования теперь должно быть равно /root/.ssh/known_hosts.

Наконец, снова включите плагин.

docker plugin enable vieux/sshfs:latest

Проверьте, что плагин включен, используя команду docker plugin ls.

Изменение пути к устройству с помощью команды docker plugin set

На этом этапе мы узнаем, как изменить путь к устройству, к которому имеет доступ плагин Docker, с помощью команды docker plugin set. Некоторые плагины могут потребовать прямого доступа к устройствам хоста, таким как устройства хранения или сетевые интерфейсы.

Как и при изменении других настроек плагина, его необходимо отключить, прежде чем можно будет изменить настройки доступа к устройствам. Мы продолжим использовать плагин vieux/sshfs в качестве примера, хотя этот конкретный плагин обычно не требует доступа к устройствам. Мы продемонстрируем синтаксис команды на примере гипотетического устройства.

Сначала убедитесь, что плагин vieux/sshfs отключен.

docker plugin disable vieux/sshfs:latest

Проверьте, что плагин отключен, используя команду docker plugin ls.

Теперь представим, что плагин vieux/sshfs должен иметь доступ к устройству по пути /dev/sda1. Мы хотим изменить этот путь на /dev/sdb1. Для этого мы используем команду docker plugin set с массивом Devices.

Примечание: По умолчанию у плагина vieux/sshfs нет настройки Devices. Это гипотетический пример для демонстрации синтаксиса команды изменения путей к устройствам. Запуск этой команды для плагина vieux/sshfs, скорее всего, приведет к ошибке, так как поле Devices отсутствует в его конфигурации. Однако показанный синтаксис верен для плагинов, которые имеют настройки доступа к устройствам.

Предположим, что у плагина есть массив Devices и мы хотим изменить PathOnHost первого устройства (Devices[0]). Команда будет выглядеть следующим образом:

docker plugin set vieux/sshfs:latest Devices[0].PathOnHost=/dev/sdb1

Эта команда пытается установить поле PathOnHost первого устройства (Devices[0]) для плагина vieux/sshfs:latest в значение /dev/sdb1. Синтаксис Devices[0] ссылается на первый элемент в массиве Devices в настройках плагина.

Поскольку у плагина vieux/sshfs нет массива Devices, вышеуказанная команда завершится с ошибкой. Это ожидаемое поведение для этого конкретного плагина, но оно демонстрирует правильный синтаксис изменения путей к устройствам для плагинов, поддерживающих такую конфигурацию.

Чтобы увидеть фактические настройки плагина vieux/sshfs, вы можете снова проверить его конфигурацию.

docker plugin inspect vieux/sshfs:latest

В выводе для этого плагина вы не увидите раздел Devices.

Наконец, снова включите плагин.

docker plugin enable vieux/sshfs:latest

Проверьте, что плагин включен, используя команду docker plugin ls.

Изменение источника аргументов с помощью команды docker plugin set

На этом этапе мы узнаем, как изменить источник аргументов, передаваемых в плагин Docker, с помощью команды docker plugin set. Некоторые плагины принимают аргументы командной строки при инициализации или выполнении.

Для изменения аргументов плагина его необходимо сначала отключить. Мы продолжим использовать плагин vieux/sshfs в качестве примера.

Сначала убедитесь, что плагин vieux/sshfs отключен.

docker plugin disable vieux/sshfs:latest

Проверьте, что плагин отключен, используя команду docker plugin ls.

Плагин vieux/sshfs принимает аргументы, которые передаются в базовую команду sshfs. Эти аргументы настраиваются в настройках плагина. Изменим источник этих аргументов.

Мы изменим источник аргументов так, чтобы он включал опцию -o allow_other, которая позволяет не-root пользователям монтировать файловую систему.

docker plugin set vieux/sshfs:latest Args="-o allow_other"

Эта команда устанавливает поле Args для плагина vieux/sshfs:latest в значение "-o allow_other". Поле Args обычно представляет собой строку или массив строк, которые представляют аргументы командной строки, передаваемые в исполняемый файл плагина.

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

docker plugin inspect vieux/sshfs:latest

Просмотрите раздел Settings и найдите поле Args. Теперь оно должно быть установлено в значение "-o allow_other".

Наконец, снова включите плагин.

docker plugin enable vieux/sshfs:latest

Проверьте, что плагин включен, используя команду docker plugin ls.

Резюме

В этом практическом занятии мы научились управлять настройками плагинов Docker с помощью команды docker plugin set. Мы начали с того, чтобы проверить начальную конфигурацию плагина с использованием команды docker plugin inspect, чтобы понять его текущее состояние, с особым вниманием к разделу Settings. Эта первоначальная проверка является важной перед внесением каких-либо изменений.

Затем мы изучили, как изменять различные настройки плагина с помощью команды docker plugin set. Мы рассмотрели изменение переменной окружения, изменение источника монтирования, изменение пути к устройству и изменение источника аргументов. Эти шаги продемонстрировали гибкость команды docker plugin set в настройке поведения плагинов в соответствии с конкретными требованиями.