CentOS下通過docker方式搭建OpenSTF

通過docker的方式搭建OpenSTF避免了手動安裝時需要處理的繁多依賴關係!

一.這裏需要記錄下我部署時的疑惑點

①ifconfig command not found

  • 檢查yum是否安裝
  • 輸入命令:ip addr,觀察是否分配了IP地址(下圖爲未分配的情況,需要修改網卡自啓動)
  • 檢查配置/etc/resolv.conf是否配置,未配置則按如下方式配置:
  • search localdomain
    nameserver 8.8.8.8
    
    #######
    nameserver 114.114.114.114(這是國內的dns服務器系統,還是比較好用的。谷歌的可以使用8.8.8.8)
  • 檢查配置/etc/sysconfig/network-scripts/ifcfg-ens33,並修改網卡自啓動
  • ONBOOT=yes
    
  • 輸入命令:yum install net-tools 

②docker部署完成後,容器的啓動順序一定要是最後啓動stf

③部署完畢,stf、adbd、rethinkdb都已啓動,但是管理界面顯示設備爲準備中?

  • 服務器端使用命令:docker logs stf 查看stf日誌
  •  這裏需要將手機中的STFService.apk重新安裝,即可

二.環境部署

1.docker安裝---安裝軟件包

2.docker安裝---設置穩定的倉庫

3.docker安裝---列出並排序存儲庫中可用的docker版本

4.docker安裝---通過其完整的軟件包名稱安裝特定版本

5.docker安裝---啓動docker

6.docker安裝---驗證是否正確安裝了docker

7.docker安裝---查看當前docker的版本信息

9.拉取openstf鏡像

10.拉取adb鏡像

11.拉取ambassador鏡像

12.拉取rethinkdb數據庫鏡像

13.拉取nginx鏡像

14.查看所有鏡像

15.啓動數據庫

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

16.啓動adb service

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

17.啓動stf

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

18.查看已啓動的容器

19.查看所有容器

20.查看防火牆狀態

21.臨時關閉防火牆,reboot後失效

22.臨時打開防火牆,reboot後失效

23.永久關閉防火牆,reboot後生效

24.永久開啓防火牆,reboot後生效

25.docker中刪除鏡像

26.瀏覽器登錄http://192.168.163.129:7100/auth/mock/進入管理登錄界面

 27.登錄任意用戶名進入管理界面

三.將上面環境部署整合成了腳本

 1.deploystf.sh:一件部署openstf

#!/bin/bash

#IP
IP=`ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print$2}' | awk -F "/" '{print $1}'`
echo $IP

#docker安裝-安裝軟件包
yum install -y yum-utils device-mapper-persistent-data lvm2

#docker安裝-設置穩定的倉庫
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

#docker安裝---列出並排序存儲庫中可用的docker版本
yum list docker-ce --showduplicates | sort -r

#docker安裝---通過其完整的軟件包名稱安裝特定版本
echo "Please enter the version number of docker(e.g. 19.03.5):"
read version
echo "準備安裝docker.........."
yum install docker-ce-$version docker-ce-cli-$version containerd.io
echo "docker安裝完畢.........."

#docker安裝---查看當前docker的版本信息
echo "---------- docker versionInfo ----------"
docker version
echo "----------//dockerversionInfo ----------"

#docker安裝---啓動docker
systemctl start docker
echo "docker已啓動.........."

#拉取openstf鏡像
echo "拉取openstf鏡像......"
docker pull openstf/stf:latest

#拉取adb鏡像
echo "拉取adb鏡像......."
docker pull sorccu/adb:latest

#拉取ambassador鏡像
echo "拉取ambassador鏡像......."
docker pull openstf/ambassador:latest

#拉取rethinkdb數據庫鏡像
echo "拉取rethinkdb數據庫鏡像......."
docker pull rethinkdb:latest

#拉取nginx鏡像
echo "拉取nginx鏡像........"
docker pull nginx:latest

#啓動數據庫
echo "正在啓動數據庫......"
docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090
echo "數據庫啓動完成......."

#啓動adb service
echo "正在啓動adb......."
docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb/ --net host sorccu/adb:latest
echo "adb啓動完成......."

#啓動stf
echo "正在啓動stf......."
docker run -d --name stf --net host openstf/stf stf local --public-ip $IP
echo "stf啓動完成......."

2.startstf.sh:快速啓動腳本

#!/bin/bash

echo "`docker start adbd`已啓動......."

echo "`docker start rethinkdb`已啓動......."

echo "`docker start stf`已啓動......."

# 展示已啓動的容器
docker ps

3.虛擬機的端口映射

①由於目前是在虛擬機中搭建的環境,必須允許局域網其它設備連入

②虛擬機->編輯->虛擬機網絡編輯

③NAT模式->NAT設置

④點擊添加即可添加端口映射

***這裏只需將宿主機7100端口映射入虛擬機7100端口即可

⑤其它局域網設備可以通過地址:http://宿主機地址:7100/auth/mock/進入管理登錄界面

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章