【问题标题】:Is it possible to share a USB GPS dongle with multiple Docker containers?是否可以与多个 Docker 容器共享 USB GPS 加密狗?
【发布时间】:2018-11-07 19:30:35
【问题描述】:

我在我的 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

【问题讨论】:

  • “U-Blox AG GPS”不会将搜索引擎引导至制造商产品页面,因此请更加具体。理想情况下,您应该提供指向数据表/用户手册/产品网页的链接

标签: docker raspberry-pi gps usb


【解决方案1】:

[免责声明] 我不确定您是否想知道如何与容器共享 任何 USB 设备,尤其是这个 USB GPS 加密狗(因为一些额外的要求、配置等)。但我会尽力做到最好。

添加单个 USB 设备

如果您想将 USB 设备(插入主机)添加到容器中。您可以使用--device docker run 选项。

--device 将主机设备添加到容器中

您需要连接设备的总线和设备(使用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 标志才能获得正确的权限。

--privileged 授予此容器扩展权限

添加所有 USB 设备

您还可以通过挂载整个 /dev/usb/bus 目录将所有可用的 USB 设备连接到容器或容器:

docker run -dit --privileged -v /dev/bus/usb:/dev/bus/usb <image>

这是你需要的吗?

问候

【讨论】:

    猜你喜欢
    • 2017-03-26
    • 2014-07-16
    • 2017-08-31
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    • 2013-05-10
    • 2015-09-08
    相关资源
    最近更新 更多