[ Ответственность ]
Я не уверен, хотите ли вы узнать, как поделиться любым USB-устройством с контейнером или, в частности, с этим USB-ключом USB (из-за некоторых дополнительных требований, конфигурации и т. Д.). Но я постараюсь сделать все возможное.
Добавление отдельного USB-устройства
Если вы хотите добавить USB-устройство (подключенное к хосту) в контейнер. Вы можете использовать --device
опция запуска Docker.
- устройство Добавление хост-устройства в контейнер
Вам понадобится шина и устройство, к которому подключено ваше устройство (используйте lsusb
или dmesg
, чтобы найти это). Пример:
Допустим, я хочу добавить этот Yubikey к контентенеру:
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
....
Bus 001 Device 017: ID 1050:0010 Yubico.com Yubikey (v1 or v2)
тогда я бы запустил контейнер так:
docker run -dit --device /dev/bus/usb/<BUS>/<DEVICE> <image>
docker run -dit --device /dev/bus/usb/001/017 <image>
Тогда это USB-устройство будет доступно внутри контейнера. Теперь для вашего случая использования добавьте эту опцию к контейнерам, которые должны иметь доступ к этому устройству.
Обратите внимание! вам может понадобиться флаг --privileged
, чтобы иметь правильные разрешения.
- привилегированный Дать расширенные привилегии этому контейнеру
Добавление всех USB-устройств
Вы также можете подключить все доступные USB-устройства к contiaer или контейнерам, смонтировав весь каталог /dev/usb/bus
:
docker run -dit --privileged -v /dev/bus/usb:/dev/bus/usb <image>
Вам это нужно?
Привет