Centos7.6下使用docker方法安装stf

 使用Docker镜像安装

一,在centos上安装Docker

很简单,直接 yum install docker 即可
开启docker服务


在centos中开启服务可以使用systemctl start serviceName.service,比如开启docker,systemctl start docker.service

拉取docker镜像文件

使用docker安装 STF 很简单,只需拉取以下5个镜像即可:

docker pull openstf/stf:latest 

docker pull sorccu/adb:latest 

docker pull rethinkdb:latest 

docker pull openstf/ambassador:latest 

docker pull nginx:latest

检查拉去下来的镜像

docker images

启动容器

先启动一个数据库

docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090

再启动adb service

docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest

 再启动stf

docker run -d --name stf --net host openstf/stf stf local --public-ip 192.168.1.99

一定要注意启动顺序,STF 依赖 rethinkdb,所以要先启动 rethinkdb,启动完成后使用: docker ps -a 查看是否启动成功

如果未成功启动,可能是权限问题,加 –privileged=true 即可。

启动 rethinkdb

docker run -d --name rethinkdb --privileged=true -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 2048 --http-port 8090

启动STF

docker run -d provider --name stf --privileged=true --net host openstf/stf stf local --public-ip 192.168.11.99

访问地址:http://192.168.1.99:7100

随便输入姓名和QQ号均可正常登录。

连接未安装STF 的电脑上的设备

首先保证其他电脑可以和安装STF 的系统通信,在未安装STF 的电脑上暴露adb端口,建议采用默认端口:5037,

adb -a -P 5037 fork-server server

 

如果出现以下错误:

任务管理器中关掉adb.exe,重新运行上述命令。
如果出现下面报错,建议换成低版本adb

reply fd for adb server to client communication not specified.
或者使用命令:adb nodaemon server -a

在docker中删除原来的stf镜像,重新运行(15.2.23.38 是宿主机IP,5037 是宿主机暴露的adb端口):

docker run -d --name stf --privileged=true --net host openstf/stf stf local --public-ip 15.2.23.203 --adb-host 15.2.23.38 --adb-port 5037 --allow-remote

备注:过程中可能用到的一些命令以及可能遇到的问题

1 docker start 容器名 启动某个容器
2 docker stop 容器名 停止某个容器
3 docker rm 容器名 删除某个容器
4 sudo ufw status 查看ubuntu的防火墙状态
5 过程中可能会无法ping虚拟机,改成桥接。同时关闭掉机器的防火墙(这个看自己,或者自己加规则,准许哪些IP访问)。
还不可以的话,配置一个跟主机相同IP段的IP地址

猜你喜欢

转载自www.cnblogs.com/tiechui2015/p/10463825.html