使用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地址