使用 docker 运行 --privileged 托管单个 USB 设备

Using docker run --privileged to host a single USB device

this Stack Overflow post

的帮助下,我能够托管我的 USB 设备
docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb ubuntu bash

这托管所有连接的 USB 设备。

有没有一种方法可以托管一个特定的设备?

假设 USB 文件位于 /dev/bus/usb/002/005。我希望将此文件单独托管在我的容器中。

我试过了 docker run -t -i --privileged -v /dev/bus/usb/002/005:/dev/bus/usb/002/005 ubuntu bash,但它仍然承载整个 usb 目录。

尝试--device /dev/bus/usb/002/005

旁注:Ubuntu 存储库中的 Docker 版本 1.17 有一个带有选项 --device 的错误,它不会将容器中共享设备的组所有权设置为与在主机上。如果您因此而遇到问题,请尝试:

--device /dev/bus/usb/002/005 --volume=/dev/bus/usb/002/005:/dev/bus/usb/002/005

除了简短的调试测试外,切勿将 --privileged 用于任何事情。