如何仅将一个 USB 设备连接到 Docker 容器
How to connect only one USB device to a Docker container
我一直在使用 Docker 进行 运行 宁 Android 测试。我正在使用多个容器和 Android 设备并行进行 运行 测试,但我在将 USB 设备重定向到 Docker 容器时遇到问题。
我正在安装这样的设备:
docker run -it --name MVE1 --privileged -v /dev/bus/usb/001/023:/dev/bus/usb/001/023
我试图只安装一个设备,但是当我在容器中 运行 adb
设备时,它会列出所有连接到主机的设备。
即使 --device option
也不走运:
docker run -it --name MVE1 --device=/dev/bus/usb/001/023:/dev/bus/usb/001/023
USB 设备在我的主机上的位置 /dev/bus/usb/
:我正在使用两个 bus 001
和 002
设备,它们都连接到 001 bus
.
为什么 Docker 在 001 bus
上安装所有连接到主机的设备,而当我尝试只连接一个设备时?
我做错了什么吗?
我想通了。如果我们 运行 在特权模式下,所有 USB 总线都可供容器使用。
我们只需要从容器中删除不需要的总线。虽然卷已同步,但此删除不会影响 Docker 主机中的 USB 总线。
我一直在使用 Docker 进行 运行 宁 Android 测试。我正在使用多个容器和 Android 设备并行进行 运行 测试,但我在将 USB 设备重定向到 Docker 容器时遇到问题。
我正在安装这样的设备:
docker run -it --name MVE1 --privileged -v /dev/bus/usb/001/023:/dev/bus/usb/001/023
我试图只安装一个设备,但是当我在容器中 运行 adb
设备时,它会列出所有连接到主机的设备。
即使 --device option
也不走运:
docker run -it --name MVE1 --device=/dev/bus/usb/001/023:/dev/bus/usb/001/023
USB 设备在我的主机上的位置 /dev/bus/usb/
:我正在使用两个 bus 001
和 002
设备,它们都连接到 001 bus
.
为什么 Docker 在 001 bus
上安装所有连接到主机的设备,而当我尝试只连接一个设备时?
我做错了什么吗?
我想通了。如果我们 运行 在特权模式下,所有 USB 总线都可供容器使用。
我们只需要从容器中删除不需要的总线。虽然卷已同步,但此删除不会影响 Docker 主机中的 USB 总线。