我有一个构建容器,其中包含测试应用程序所需的一切,希望模拟器,我希望将其保留在本地计算机中。

我使用此命令运行容器

docker run -d -p 4725:4725 -p 4723:4723 -p 5037:5037 -p 5555:5555 --privileged  -v /Users/moradk/Root/automation/apk/:/root/tmp/  --name appium-offical appium-offical shell

当我在容器内运行shell命令时:
adb devices

我找不到任何设备。

否则,我已将设备包含在本地计算机中(“不对文档”),当我在本地计算机(Mac)中运行添加设备时,会得到设备名称
  • 连接的设备列表
  • emulator-5554设备”

  • 我如何将docker连接到本地设备,我尝试运行:
    adb connect 0.0.0.0:5555
    

    将我的本地设备连接到docker,但不起作用,

    有什么建议吗?

    谢谢你们。

    最佳答案

    您应该在docker run命令中删除“-p 5037:5037”

    然后在docker容器中建立一个隧道:

    ssh -L 6037:localhost:5037 -N -g username@host_ip_address -f
    

    您可以通过以下方式访问主机adb:
    adb -H 127.0.0.1 -P 6037 devices
    

    您也可以在ssh隧道中使用默认端口5037,这对我来说很有效。

    08-06 05:37