我在Raspberry Pi 3中使用VK-172 U-Blox AG GPS作为仅接收APRS iGate的一部分。我在RPi上运行Docker。现在,我正在运行一个Docker容器,该容器使用GPS加密狗获取Direwolf的位置数据,该数据已报告给APRS-IS网络。
我还想运行一个Docker容器,将GPS用作网络上其他计算机的非常准确的时间参考。
是否可以与多个Docker容器共享USB GPS加密狗?
73 de K6JEB
答案 0 :(得分:0)
[ 免责声明 ] 我不确定您是否想知道如何与容器或特别是此USB GPS加密狗共享任何 USB设备(由于某些其他要求,配置等)。但我会尽力而为。
添加单一USB设备
如果要将USB设备(已插入主机)添加到容器中。您可以使用--device
docker run选项。
-设备将主机设备添加到容器中
您将需要与设备连接到的总线和设备(使用lsusb
或dmesg
进行查找)。示例:
让我们说我想把这把Yubikey添加到contaiener中:
$ 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设备
您还可以通过安装整个/dev/usb/bus
目录将所有可用的USB设备连接到容器或容器:
docker run -dit --privileged -v /dev/bus/usb:/dev/bus/usb <image>
这是您需要的吗?
致谢