1. 程式人生 > >Linux下使用docker搭建STF(踩坑成功)

Linux下使用docker搭建STF(踩坑成功)

自從經歷了Mac下docker的失敗後,一直在查詢原因,也開始自學docker。為了搞懂docker,還在某東上買了James Turnbull的書《THE DOCKER BOOK》來研究。這裡介紹的是使用Linux環境來使用docker,不過也確實是,docker本身跑的就是Linux,索性就在Linux環境下重新搭建了一遍STF,第一次沒有成功,又重新pull了映象重新執行之後,莫名其妙的就成功了。

一、安裝Docker

按照書中的指引,安裝之前需要檢查一些前提條件:

1、核心:檢查ubuntu核心的版本:

$ uname -a
Linux myPC 4.4.0-53-generic #74-Ubuntu SMP Fri Dec 2 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
如果核心版本低就需要更新到新版本:
$ sudo apt-get update
然後更新Grub啟動器來載入新核心:
$ sudo update-grub

安裝完成後重啟宿主機:

$ sudo reboot

2、檢查Device Mapper

$ ls -l /sys/class/misc/device-mapper
lrwxrwxrwx 1 root root 0 8月   1 09:06 /sys/class/misc/device-mapper -> ../../devices/virtual/misc/device-mapper
3、安裝Docker

檢查主機的Ubuntu發行版本:

$ sudo lsb_release --codename 
Codename:	serena

新增Docker的ATP倉庫:

$ sudo sh -c "echo deb https://apt.dockerproject.org/repo ubuntu-serena main > /etc/apt/source.list.d/docker.list

新增Docker倉庫的GPG祕鑰:

$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
更新apt源:
$ sudo apt-get update

然後就可以在Ubuntu中安裝Docker軟體包了:

$ sudo apt-get install docker-engine

安裝完畢,確認Docker已經安裝在Ubuntu中:

$ sudo docker info
Containers: 3
 Running: 3
 Paused: 0
 Stopped: 0
Images: 5
Server Version: 1.12.6
. . . 

二、搭建STF

和在Mac中的操作一樣,在終端中執行如下程式碼:

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

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

$ sudo docker run -d --name stf --net host openstf/stf stf local

然後在瀏覽器中輸入localhost:7100:

三、Shell的使用:

之前使用STF自帶的shell的時候因為不會用,總感覺是埠被佔用的問題,今天摸索了一下,發現是原來的指令輸入不正確,現在總算好用了。

這個shell和adb裡的shell有一點小區別,在終端輸入的是adb shell input text 1111,在這裡只需要輸入input text 1111,問題直接解決。

在這裡輸入的命令其實就是在終端輸入adb shell命令之後進入root之後的命令。

附上shell的一些操作:

點選螢幕的座標為(300,300)位置: input tap 300 300

向左滑動,從(200,1200)到(800,1200):input swipe 200 1200 800 1200

輸入文字:input text na123n<Kh;/sdfsd11

input keyevent事件:

舉個栗子:按下電源鍵:input keyevent 26

其他事件程式碼:

HOME鍵:3

返回鍵:4

音量調大:24

音量調小:25

相機按鍵(如果有物理相機按鍵):27

退格:67

選單(mebu)鍵:82

搜尋:84

播放/暫停:85

停止播放:86

下一首:87

上一首:88