首页 > 解决方案 > 如何为特定的 docker 容器指定 USB 端口?

问题描述

我正在尝试将两个不同的 Android 设备连接到两个不同的 docker 容器。https://hub.docker.com/r/appium/appium的指南说:

docker run -d -p 4723:4723 \
    --device /dev/bus/usb/XXX/YYY:/dev/bus/usb/XXX/YYY \
    -v ~/.android:/root/.android --name device1 appium/appium

XXX/YYY->第一个参数没问题,没变,稳定。第二个总是不同的:重启/关机/USB断开后。

在docker中分离设备的正确方法是什么?

标签: androiddockerusbappium

解决方案


解决方案是:

  1. 将证书复制到容器的卷。通过这一步,电话能够信任所有新容器。并且无需重新启动和重新连接设备。
  2. XXX/YYY 这个参数应该由lsusb utils 检查。XXX 是稳定的,在我的情况下它始终是 001。每次连接/重启时 YYY 都会发生变化,它会增加 1。应该将其指定为:0001/014。并且不要断开连接或重新启动。
  3. 如果重新启动,则需要再次执行所有步骤。因为 YYY 将是 015 并且容器不会启动。

推荐阅读