Можно ли использовать USB-ключ USB для нескольких контейнеров Docker? - PullRequest
0 голосов
/ 07 ноября 2018

Я использую U-Blox AG GPS VK-172 в моем Raspberry Pi 3 как часть APG iGate только для приема. Я запускаю Docker на RPi. Прямо сейчас я использую контейнер Docker, который использует ключ GPS для данных о местоположении с Direwolf, который передается в сеть APRS-IS.

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

Можно ли использовать USB-ключ USB для нескольких контейнеров Docker?

73 де K6JEB

1 Ответ

0 голосов
/ 07 ноября 2018

[ Ответственность ] Я не уверен, хотите ли вы узнать, как поделиться любым 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>

Вам это нужно?

Привет

...