从docker容器连接外部仿真器

时间:2018-02-25 21:22:31

标签: android docker docker-machine appium-android

我有构建容器,其中包含测试应用程序所需的所有内容,期望模拟器,我希望将它们保存在我的机器中。

我使用此命令运行容器

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

我找不到任何设备。

否则我已经将设备包含在我的本地计算机(不是DOCKER)中,当我在本地计算机(Mac)中运行添加设备时,我得到设备名称

  • 附加设备列表
  • emulator-5554 device“

如何将docker连接到本地设备,我尝试运行:

adb connect 0.0.0.0:5555

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

有什么建议吗?

谢谢大家。

1 个答案:

答案 0 :(得分:2)

您应在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,这对我来说很有效。