docker运行SFT

1、 pull 相关镜像

首先 在docker 上 pull 这几个镜像:

docker pull openstf/stf:latest

docker pull sorccu/adb:latest

docker pull rethinkdb:latest

docker pull openstf/ambassador:latest

docker pull nginx:latest

2、启动

#先启动一个数据库
 docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090

PS.如果报错:

docker: Error response from daemon: Mounts denied: The path /srv/rethinkdb is not shared from OS X and is not known to Docker. You can configure shared paths from Docker -> Preferences… -> File Sharing. See https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.

参考:https://stackoverflow.com/questions/45122459/docker-mounts-denied-the-paths-are-not-shared-from-os-x-and-are-not-known

 #再启动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 your-ip

访问localhost:7100


构建自己的STF镜像

STF docker镜像其实就是一个完整的linux系统加上stf环境和代码,因此构建镜像的过程是这样的:

1、pull一个操作系统作为base镜像,这里以ubuntu为例。

2、在ubuntu上安装stf基础环境,包括nodejs、zmq、python、git等。

3、把stf的代码塞到docker镜像中。

stf的源码中已经给出构建官方docker镜像的Dockerfile https://github.com/openstf/stf/blob/master/Dockerfile

通过dockerfile创建自己的docker images

or第二种方法(第一种dockerfile 创建本地镜像的方法没有成功,使用下面👇这种成功了)

1、Cloned the STF repo

2、cd stf/

3、docker built -t stf-local . and then everything ran fine :)