Изменение пути к устройству с помощью команды 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
.