【问题标题】:how to see adb devices on linux container when host is windows 7 machine当主机是 Windows 7 机器时如何在 linux 容器上查看 adb 设备
【发布时间】:2018-07-29 15:53:05
【问题描述】:

我有一台安装了 docker 工具箱的 windows 7 机器

我从下面的链接下载了安装了 adb 的镜像和运行容器

https://hub.docker.com/r/muicoder/adb/

容器已启动并运行,容器 id 如下所述

9ba51613a7be

在我的 host (windows 7) 上,我连接了 nexus 6,我可以通过

查看结果
adb devices


> C:\Users\panmishr>adb devices List of devices attached
> * daemon not running; starting now at tcp:5037
> * daemon started successfully 
> * ZY2235CQ26      device

我用

杀死了本地主机中的 adb 守护进程
adb kill-server

现在我正在尝试使用以下命令检查容器上的设备,但是它没有显示任何映射到容器的设备。

$ docker exec -it -d --privileged -P -p 5037:5037 9ba51613a7be adb devices

附加设备列表

请建议我缺少什么

【问题讨论】:

  • 您是否尝试过将 docker 端口链接到主机的端口,如下所示:-p 5037:5037
  • 也不能与 -p 一起使用

标签: docker adb docker-for-windows


【解决方案1】:

只是为了补充这个问题的结论。

到目前为止,我还没有找到可行的解决方案来在 windows 7 机器上运行 windows docker。大多数帖子都围绕着带有 windows 10 和 windows 2016 Server 的 windows docker。

我在 windows 7 机器上切换到 Linux docker,但是 adb 设备 在 Linux 容器上仍然无法识别

最后,我不得不选择 Linux 主机和 Linux 容器,并且这些设备在容器上是可见的。

【讨论】:

    【解决方案2】:

    -p 5037:5037 用于在主机上键入adb devices 时查看正在容器上运行的设备。但是,当您在容器中键入 adb devices 时,您会看到主机上连接的设备。为此

    1. 在您的主机上安装 ssh 服务器,即 win 7,然后从您的容器转发端口 5037。运行如下:

    $ ssh -T -N -L5037:127.0.0.1:5037 root@host.iphost.ip 可能是:192.168.0.10

    1. 在您的容器上安装 ssh 服务器,但首先在您的主机上公开容器端口 22 映射 5022。 (配置您的/etc/ssh/sshd_config 文件后)。像这样运行: $ ssh -T -N -R5037:127.0.0.1:5037 root@127.0.0.1 -p 5022 在您的主机中进行远程转发。

    在二选一之前,您应该将主机上的 8081 端口映射为:-p8081:8081

    所以你只需要运行:

    docker run -p8081:8081 android_container
    

    然后

    docker exec -it 9ba51613a7be adb devices
    

    如果您转发了端口。

    您还有另一个解决方案。请查看此仓库:RN-Container-with-ADB-Real-Device

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-03
      • 2022-10-06
      • 1970-01-01
      • 2022-01-27
      • 2013-11-13
      • 1970-01-01
      相关资源
      最近更新 更多