使用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地址
来源:oschina
链接:https://my.oschina.net/u/4331678/blog/3629257