我有一个构建容器,其中包含测试应用程序所需的一切,希望模拟器,我希望将其保留在本地计算机中。
我使用此命令运行容器
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)中运行添加设备时,会得到设备名称
我如何将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,这对我来说很有效。