我无法找到关于如何从Windows中的Docker访问USB设备的任何说明,尽管来自Mac OS X的说明非常接近,尽管指令here .
所以我在Windows上尝试这个,这是我到目前为止所做的:
-
将Oracle VirtualBox升级到5.0.16,并安装了Oracle VM VirtualBox Extensions Pack,它允许boot2docker VM使用USB 2.0访问我的设备 .
-
关闭
default
虚拟机电源,然后转到机器→设置...→USB . 通过从弹出列表中选择机器,添加了新的USB过滤器 . -
重新启动Docker Quickstart终端 .
问题是,我怀疑运行虚拟机实例的命令如下:
docker run --privileged -v <USB directory in host machine>:<USB directory in Docker container> ...
问题是,虽然在Mac OS X中它似乎是 /dev/bus/usb
,它在Windows中出现在哪里?不是同一个地方吗? /dev/
目录似乎没有 /dev/usb/
.
我错过了一步吗? USB设备路径是否在Windows的不同位置?
顺便说一句,这是我在键入 docker -v
时使用的Docker版本:
Docker version 1.10.0, build 590d5108
我目前也在使用Windows 7 .
2 回答
虽然没有看到/ dev / bus / usb并输入以下命令,但看起来像是咬着子弹:
(在我的情况下,它是
docker run-it --privileged -v /dev/bus/usb:/dev/bus/usb -v (shared directory path):(path in container) debian:latest bash
,但你的命令将根据你正在做的不同而不同) .此外,如果您正在使用Android设备并且想要在引导加载程序中仍然访问它们,则需要在VirtualBox中创建两个过滤器:一个用于何时使用ADB,另一个用于当您使用ADB时使用fastboot .
我能够在带有Docker Toolbox的Windows主机上运行,我假设OP正在使用它 .
停止boot2docker vm:
打开VirtualBox管理器并根据需要添加USB过滤器 .
启动boot2docker vm:
由于USB设备连接到boot2docker VM,因此需要从该计算机运行命令 . 使用VM打开终端并运行Docker运行命令:
如果您希望Docker容器与容器启动后插入的USB设备一起使用,您可以使用:
我看到的大多数其他示例都使用
-v /dev/bus/usb:/dev/bus/usb
,它只适用于某些USB设备 . 我必须使用/dev
作为插入USB端口时创建/dev/sg2
的应用程序 .注意,标志
-it
仅作为示例在此处使用,以便您可以在Ubuntu容器内获得Bash终端 . 它们实际上并不是必需的 .