在Windows下是否可以使用docker镜像访问硬件设备?

最近,发布了Windows的本地Docker客户端 (> = Windows 7)。

我想知道: 是否有可能转发访问物理设备,运行Windows作为主机

使用* nix主机,这似乎是可能的以下语法:

docker run -t -i --device=/dev/ttyUSB0 ubuntu bash 

(如这里所build议的那样),将* nix系统上的USB设备/dev/ttyUSB0转发到泊坞窗镜像。 docker文档中可以find--device标志的说明。

Windows主机的语法是什么?

Windows USB设备目前不适用于在Docker for Windows中运行的Docker容器。

码头工作人员在码头论坛上于2017年7月7日回复。

https://forums.docker.com/t/exposing-docker-to-usb-device-in-windows-10-with-docker-toolbox/29290/3

这个答案很可能会在一段时间内过时,只要他们能够以某种方式允许这个功能。

这是一个不好的做法,因为它违背了容器的设计理念。

如果您发现自己需要访问硬件设备,最好考虑完全虚拟化,如VMware,Hyper-V,KVM / QEMU,Xen等。

然而,“正确”的方式是设计你的系统是硬件抽象成网络服务的时候。 这样,您可以将服务部署到硬件所连接的物理机器上,并通过网络进行调用。 我不知道你的情况是否可能,但这样的decopling提供了显着的架构优势。