从 Docker 容器访问托管在 OS X 上的 USB 网络摄像头

Accessing USB webcam hosted on OS X from a Docker container

是否可以从 Docker 容器访问 USB 摄像头(例如 Logitech c270)? 相机通过 USB 端口连接到 Mac 主机。 即使 运行 带有 --privileged 的​​容器,我也找不到设备(例如 /dev/video0 文件不存在)。

谢谢

默认docker-machine用官方boot2docker.iso创建虚拟机。而且这个超薄发行版不支持 USB 视频设备。当您将 USB 设备附加到虚拟机时,如果没有正确的驱动程序,内核将无法执行任何操作。因此,您不会看到任何视频捕获设备,例如 /dev/video0.

TL;DR

我已经编译了一个定制的 boot2docker.iso,其中包含 uvcvideo 驱动程序。用这个来创建你的 docker 机器。

docker-machine create -d virtualbox --virtualbox-boot2docker-url https://github.com/Alexoner/boot2docker/releases/download/v17.06.0-ce-usb-rc5/boot2docker.iso default

然后安装 VirtualBox 扩展,连接网络摄像头设备,一切顺利!

参考

连接网络摄像头:https://www.virtualbox.org/manual/ch09.html#webcam-passthrough