Введение
В этом лабораторном занятии вы узнаете, как использовать команду docker plugin set для изменения настроек плагина Docker. Сначала мы проверим начальную конфигурацию плагина с помощью команды docker plugin inspect, чтобы понять его текущее состояние.
После проверки вы попрактикуетесь в изменении различных настроек плагина, включая переменные окружения, источник монтирования, путь к устройству и источник аргументов, используя для этого команду docker plugin set. Этот практический опыт продемонстрирует гибкость и контроль, которые вы можете иметь над поведением плагинов Docker.
Проверить начальные настройки плагина
На этом этапе мы узнаем, как проверить начальные настройки плагина 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 в настройке поведения плагинов в соответствии с конкретными требованиями.



