我无法准确地找到有关如何从 Windows 中的 Docker 访问 USB 设备的任何说明,尽管这些说明here http://reprage.com/post/configure-android-development-environment-with-docker尽管来自 Mac OS X,但非常接近。
所以我正在 Windows 上尝试这个,这是我到目前为止所做的:
- 将 Oracle VirtualBox 升级到 5.0.16,并安装Oracle VM VirtualBox 扩展包 http://download.virtualbox.org/virtualbox/5.0.16/Oracle_VM_VirtualBox_Extension_Pack-5.0.16-105871.vbox-extpack,这使得 boot2docker VM 能够使用 USB 2.0 访问我的设备。
- 关闭电源
default
虚拟机,然后转到机器 → 设置… → USB。通过从弹出列表中选择机器添加了新的 USB 过滤器。
- 重新启动 Docker 快速启动终端。
问题是,我怀疑运行虚拟机实例的命令如下:
docker run --privileged -v <USB directory in host machine>:<USB directory in Docker container> ...
问题是,在 Mac OS X 中它似乎是/dev/bus/usb
,它出现在 Windows 中的什么位置?不是同一个地方吗?这/dev/
目录中似乎没有/dev/usb/
.
我是不是漏掉了一步?对于 Windows,USB 设备路径是否位于不同的位置?
顺便说一下,这是我输入时使用的 Docker 版本docker -v
:
Docker version 1.10.0, build 590d5108
我目前也在使用 Windows 7。
我能够使用 Docker Toolbox 在 Windows 主机上运行它,我假设 OP 正在使用它。
停止 boot2docker 虚拟机:
host:~$ docker-machine stop default
打开 VirtualBox 管理器并根据需要添加 USB 过滤器。
启动 boot2docker 虚拟机:
host:~$ docker-machine start default
由于 USB 设备已连接到 boot2docker 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 设备。我不得不使用/dev
对于创建的应用程序/dev/sg2
当 USB 端口插入时。
注意,标志-it
此处仅作为示例,以便您可以在 Ubuntu 容器内获得 Bash 终端。实际上,它们并不是必需的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)