docker创建appium容器并连接夜神模拟器

1|0查找镜像


使用docker search命令可以搜索appium镜像

docker search appium

2|0拉取镜像


docker pull appium/appium

在拉取镜像的时候,碰到了报错Could not reach any registry endpoint,有人说这可能是docker版本太低导致的,由于Centos6支持的docker版本有限,所以换了个Centos7继续pull。centos7安装docker请戳这里-->《Centos7下安装Docker(详细安装教程)》
还有一个问题,使用DaoCloud配置镜像加速器拉取appium真是慢的一批,最后配置了阿里云镜像加速器。配置阿里云加速请戳这里-->《CentOS下安装docker并使用阿里云镜像加速器》

3|0启动容器


启动appium容器,并将端口映射为4723,名称命名为appium_1

docker run --privileged -d -p 4723:4723 --name appium_1 appium/appium # --privileged:使用该参数,容器内的root拥有真正的root权限,否则容器内的root只是外部的一个普通用户权限 # -d:以分离模式启动容器,分离模式指的是在后台运行,而前景模式指的是在前台运行。默认分离模式设置为False # -p:指定要映射的ip和端口。支持的格式有:hostPort:containerPort,ip:hostPort:containerPort,ip::containerPort。这里用的是第一种:4723:4723,指的是将本地(centos7)的5000端口映射到容器的5000端口 # --name:为容器指定一个名字

4|0查看运行状态的容器


docker ps

5|0安装jdk


我的Centos7上已经安装好了jdk,如果没有安装的请戳这里-->《Centos7安装JDK8以及环境配置》

6|0安装adb


没有安装的请戳这里-->《centos7安装adb》

7|0模拟器设置


7|1更改连接方式


将夜神模式其的usb连接方式更改为tcpip的方式

C:\Users\beck λ adb devices List of devices attached 127.0.0.1:62025 device C:\Users\beck λ adb -s 127.0.0.1:62025 tcpip 6666 restarting in TCP mode port: 6666

7|2更改桥接


打开系统设置-->属性设置-->网络设置,勾选开启网络桥接模式,这时需要先装个插件,安装好后选择静态IP,由于我的模拟器是安装在windows系统上,windows系统ip为192.168.0.101,这里我设置为192.168.0.126,设置网关192.168.0.1,点击保存设置,重启模拟器

重启后,关闭WLAN,再打开,点击设置,查看ip地址,可以看到ip变为192.168.0.102

这里不知道是不是夜神模拟器的问题,桥接后ip并未改变过来,所以又重新把桥接的ip从192.168.0.126设置为192.168.0.102

8|0docker连接模拟器


docker exec -it appium_1 adb connect 192.168.0.102:6666 # docker exec:在运行的容器中执行命令 # -i:即使没有附加也保持STDIN打开 # -t:分配一个伪终端

看到connected to 192.168.0.102:6666,说明已连接成功

9|0参考文章


《「docker实战篇」python的docker-创建appium容器以及设置appium容器连接安卓模拟器(31)》
《Docker:Docker Appium 镜像连接夜安卓神模拟器,并处理 connection refused 异常》
《Docker exec 命令》


__EOF__

本文作者cnhkzyy
本文链接https://www.cnblogs.com/my_captain/p/12738964.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   cnhkzyy  阅读(2534)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示