一、系統環境:CentOS7
centos所有版本下載下傳位址:http://mirrors.aliyun.com/centos/
檢視CentOS的版本号:cat /etc/centos-release
查詢作業系統核心版本資訊:uname -r
檢視作業系統位數:getconf LONG_BIT
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SY0EDN0czN5cTNxITOhZ2YzUTM4YmY2ETM0IGZwEWMw8CX2IzLcFTMwIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL2M3Lc9CX6MHc0RHaiojIsJye.png)
關閉防火牆: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版本資訊
7、檢視docker所有運作的容器
8、 以上docker安裝完成,接下來就是需要docker加速器配置了。至于是為什麼需要鏡像加速呢?因為你在中國(你懂得)
在安裝的時候我添加的是阿裡的軟體源,這裡我也用阿裡雲的鏡像加速。
首先,打開阿裡雲網站:https://cr.console.aliyun.com
其次,打開網頁中 鏡像中心--鏡像加速器,預設會生成屬于你個人的一個加速器位址
這裡我将指令寫在一個shell中,内容如下(因為我知道docker安裝的時候預設安裝在/etc/docker下,是以我就不再遞歸建立)
将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
第二步啟動鏡像
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。登入的使用者名和郵箱符合格式要求即可,盡情玩耍吧,少年。
這裡我沒有連接配接安卓裝置所有顯示為0,沒有裝置連接配接。
四、Docker部署的adb連接配接裝置
如何使用docker拉取的adb 連接配接裝置呢?
首先,要知道怎麼像系統adb指令一樣使用adb指令。
其次,接入安卓裝置進STF平台中,實作安卓裝置的統一管理。
來吧,展示:
adb連接配接裝置的兩種方式:
1、USB直連模式
2、adb WiFi模式
以上兩種模式均可參考我之前的文章
五、另一種接入裝置的方式(該方式為adb連接配接裝置兩種方式中的USB直連)
因為我搭建STF是在CentOS虛拟機中,我本地windows主控端有adb且連接配接了手機,我想啟動STF時直接挂上主控端的裝置。Just Do It!
前提:
1、主控端和虛拟機在同一網段且和聯通(ping指令了解一下)
2、主控端啟動adb
使用指令:adb -a -P 5037 fork-server server啟動時報:reply fd for adb server to client communication not specified. 這時可以用上圖中的指令重新啟動一下。
連接配接上之後用adb觀察一下裝置清單展示:
3、重新啟動一下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