1、拉取相关镜像,下载慢时,Docker配置阿里云镜像源,参考之前文章
docker pull openstf/stf:latest
docker pull sorccu/adb:latest
docker pull rethinkdb:latest
docker pull openstf/ambassador:latest
docker pull nginx:latest
2、启动容器
#先启动一个数据库
docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090
#再启动adb service【Docker Toolbox安装时,可不启动adb容器】
docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest
#再启动stf【Docker Toolbox安装时,宿主机IP为Docker-Machine此虚拟机的IP】
docker run -d --name stf --net host openstf/stf stf local --public-ip 宿主机IP
备注:CentOS7创建rethinkdb容器后,立即退出,启动容器失败,如下图:
docker logs rethinkdb查询日志,提示如下图:
解决方法:去掉挂载目录
docker run -d --name rethinkdb --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090
3、启动完毕,访问 http://宿主机IP:7100,即可访问STF
4、Windows上USB连接手机A,windows电脑安装adb,对外暴露5037端口
adb nodaemon server -a -P 5037
如果指令报错,先杀死服务,在重新输入命令
adb kill-server
低版本输入 adb -a -P 5037 fork-server server 指令 ,如我的adb版本就要输这个指令
1. 查看当前运行的镜像,找到stf的容器id
docker ps –a
2. 进入stf容器中
docker exec -it 9609ce2bf1e1 /bin/sh
3. 运行stf服务
stf local --public-ip 宿主机IP --allow-remote
4. 通过adb host加载windows上的设备
从第三条命令的输出结果中找到provider, 复制整条命令,修改--adb-host windowsIP
stf provider --name default --min-port 7400 --max-port 7700 --connect-sub tcp://127.0.0.1:7114 --connect-push tcp://127.0.0.1:7116 --group-timeout 900 --public-ip 192.168.99.100 --storage-url http://localhost:7100/ --adb-host windowsIP --adb-port 5037 --vnc-initial-size 600x800 --mute-master never --allow-remote
参考:https://blog.csdn.net/u012601647/article/details/105820391
https://blog.csdn.net/chinewwen/article/details/82909447
https://www.cnblogs.com/jinjiangongzuoshi/p/6555696.html
https://blog.csdn.net/shylcok/article/details/107803797