试图从Windows中的Docker访问USB设备
我还没有找到任何关于如何在Windows中从Docker访问USB设备的说明,尽管这些说明来自MacOSX,但非常接近 因此,我正在Windows上尝试此功能,以下是我迄今为止所做的:试图从Windows中的Docker访问USB设备,windows,docker,virtualbox,Windows,Docker,Virtualbox,我还没有找到任何关于如何在Windows中从Docker访问USB设备的说明,尽管这些说明来自MacOSX,但非常接近 因此,我正在Windows上尝试此功能,以下是我迄今为止所做的: 将Oracle VirtualBox升级到5.0.16,并安装,这使boot2docker VM能够使用USB 2.0访问我的设备 关闭默认值虚拟机,然后转到虚拟机→ 设置…→ USB。通过从弹出列表中选择机器,添加了新的USB过滤器 重新启动Docker快速启动终端 问题是,我怀疑运行虚拟机实例的命令如下: d
默认值
虚拟机,然后转到虚拟机→ 设置…→ USB。通过从弹出列表中选择机器,添加了新的USB过滤器docker run --privileged -v <USB directory in host machine>:<USB directory in Docker container> ...
我目前也在使用Windows 7。看起来像是在咬紧牙关,尽管没有看到/dev/bus/usb并键入以下命令:
docker run -it --privileged -v /dev/bus/usb:/dev/bus/usb ...
(在我的例子中,是docker运行它--privileged-v/dev/bus/usb:/dev/bus/usb-v(共享目录路径):(容器中的路径)debian:latest bash,但您的命令将根据您所做的不同而有所不同)
此外,如果您正在使用Android设备,并且希望在引导加载程序上仍能访问这些设备,则需要在VirtualBox中创建两个过滤器:一个用于使用ADB时,另一个是当您使用fastboot时。我能够在Windows主机上使用Docker Toolbox实现这一点,我假设OP正在使用Docker Toolbox 停止boot2docker虚拟机:
host:~$ docker-machine stop default
host:~$ docker-machine start default
打开VirtualBox manager并根据需要添加USB筛选器
启动boot2docker虚拟机:
host:~$ docker-machine stop default
host:~$ docker-machine start default
由于USB设备连接到boot2docker VM,因此需要从该机器运行命令。使用VM打开终端并运行Docker run命令:
host:~$ docker-machine ssh
docker@default:~$ docker run -it --privileged ubuntu bash
如果希望Docker容器在容器启动后与插入的USB设备一起工作,可以使用:
docker@default:~$ docker run -it --privileged -v /dev:/dev ubuntu bash
我看到的大多数其他示例都使用-v/dev/bus/usb:/dev/bus/usb
,它只适用于某些usb设备。当USB端口插入时,我必须使用/dev
创建/dev/sg2
的应用程序
注意,这里只需要使用标志
-it
,这样您就可以在Ubuntu容器中获得Bash终端。实际上,这并不需要它们。您确定您甚至需要volume命令吗?仅授予docker容器的特权访问权就足以让它访问主机上的USB设备,这就是我在Windows上所做的(使用docker Toolbox/VirtualBox)。Windows上的/dev/bus/USB
是USB的有效路径吗?它真的是运行它
(而不是运行-它
)?