CentOS7使用Docker安装STF安卓设备管理平台

亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述CentOS7使用Docker安装STF安卓设备管理平台相关的知识,希望能为你提供帮助。
一、系统环境:CentOS7
centos所有版本下载地址:http://mirrors.aliyun.com/centos/
查看CentOS的版本号:cat /etc/centos-release
查询操作系统内核版本信息:uname -r
查看操作系统位数:getconf LONG_BIT

CentOS7使用Docker安装STF安卓设备管理平台

文章图片

关闭防火墙:systemctl stop firewalld.service
查看防火墙状态:systemctl status firewalld.service
Active行存在disavtive或dead的字样,说明防火墙已经关闭
 
二、CentOS7部署Docker
1、安装必要的系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
2、添加软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、更新并安装docker-ce
yum makecache fast
yum -y install docker-ce
4、设置开机时自动启动(可不设置开机自动启动)
systemctl enable docker
5、查看docker运行状态
systemctl status docker
6、查看已安装的docker-ce版本信息
CentOS7使用Docker安装STF安卓设备管理平台

文章图片

7、查看docker所有运行的容器
CentOS7使用Docker安装STF安卓设备管理平台

文章图片

8、 以上docker安装完成,接下来就是需要docker加速器配置了。至于是为什么需要镜像加速呢?因为你在中国(你懂得)
在安装的时候我添加的是阿里的软件源,这里我也用阿里云的镜像加速。
首先,打开阿里云网站:https://cr.console.aliyun.com
其次,打开网页中 镜像中心--镜像加速器,默认会生成属于你个人的一个加速器地址
CentOS7使用Docker安装STF安卓设备管理平台

文章图片

  这里我将命令写在一个shell中,内容如下(因为我知道docker安装的时候默认安装在/etc/docker下,所以我就不再递归创建)
CentOS7使用Docker安装STF安卓设备管理平台

文章图片

  将shell脚本加上可执行权限,执行以下即可完成了镜像加速的配置并重新加载的配置文件和重启了docker。
至此,Docker的安装搞定。
问题:
1、docker报错Get https://registry-1.docker.io/v2/: x509: certificate has expired or is not yet valid
解决办法:同步一下时间:ntpdate cn.pool.ntp.org
 
三、使用Docker部署STF安卓设备管理平台
第一步拉取镜像
1、拉取STF镜像:docker pull openstf/stf:latest
2、拉取adb镜像:docker pull sorccu/adb:latest
3、拉取rethinkdb镜像:docker pull rethinkdb:latest
4、查看拉取下来的镜像:docker images
CentOS7使用Docker安装STF安卓设备管理平台

文章图片

【CentOS7使用Docker安装STF安卓设备管理平台】  第二步启动镜像
1、启动rethinkdb数据库
docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 500 --http-port 8090
2、启动adb服务
docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest
3、启动STF安卓设备管理平台
本地启动:docker run -d --name stf --net host openstf/stf stf local --allow-remote
可远程访问:docker run -d --name stf --net host openstf/stf stf local  --allow-remote --public-ip 10.117.34.33
4、通过浏览器访问web页面,默认端口是7100。登录的用户名和邮箱符合格式要求即可,尽情玩耍吧,少年。
CentOS7使用Docker安装STF安卓设备管理平台

文章图片

CentOS7使用Docker安装STF安卓设备管理平台

文章图片

  这里我没有连接安卓设备所有显示为0,没有设备连接。
 
四、Docker部署的adb连接设备
如何使用docker拉取的adb 连接设备呢?
首先,要知道怎么像系统adb命令一样使用adb命令。
其次,接入安卓设备进STF平台中,实现安卓设备的统一管理。
来吧,展示:
CentOS7使用Docker安装STF安卓设备管理平台

文章图片

  adb连接设备的两种方式:
1、USB直连模式
2、adb WiFi模式
以上两种模式均可参考我之前的文章:https://www.cnblogs.com/hanxiaobei/p/12941996.html
 
五、另一种接入设备的方式(该方式为adb连接设备两种方式中的USB直连)
因为我搭建STF是在CentOS虚拟机中,我本地windows宿主机有adb且连接了手机,我想启动STF时直接挂上宿主机的设备。Just Do It!
前提:
1、宿主机和虚拟机在同一网段且和联通(ping命令了解一下)
2、宿主机启动adb
CentOS7使用Docker安装STF安卓设备管理平台

文章图片

问题:
使用命令:adb -a -P 5037 fork-server server启动时报:reply fd for adb server to client communication not specified. 这时可以用上图中的命令重新启动一下。
连接上之后用adb观察一下设备列表展示:
CentOS7使用Docker安装STF安卓设备管理平台

文章图片

3、重新启动一下Docker中的STF
CentOS7使用Docker安装STF安卓设备管理平台

文章图片

  重新启动的命令:docker run -d --name stf --privileged=true --net host openstf/stf stf local --public-ip 192.168.209.130 --adb-host 192.168.209.1 --adb-port 5037 --allow-remote
  192.168.209.130 为我虚拟机CentOS7的IP
  192.168.209.1 为我宿主机Windows10的IP
  其他命令参考上图中露出

    推荐阅读