Ubuntu+Docker+STF环境搭建

Ubuntu

提前先安装配置好 Ubuntu server 14.04.5
参考资料:Ubuntu 16.04 Server 版安装过程图文详解

 

Dcoker安装

Ubuntu 14.04/16.04 (使用apt-get进行安装)

  1. 安装最新版本
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # step 1: 安装必要的一些系统工具
    sudo apt-get update
    sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
    # step 2: 安装GPG证书
    curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    # Step 3: 写入软件源信息
    sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
    # Step 4: 更新并安装Docker-CE
    sudo apt-get -y update
    sudo apt-get -y install docker-ce

  2. 安装指定版本
1
2
3
4
5
6
7
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
# docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# docker-ce | 17.03.0~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]

安装校验

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
root@ubuntu:/home/mgtv# docker version
Client:
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:24:58 2018
OS/Arch: linux/amd64
Experimental: false

Server:
Engine:
Version: 18.06.1-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:23:24 2018
OS/Arch: linux/amd64
Experimental: false

镜像加速

加速器地址

加速器的地址,您登录容器镜像服务控制台后左侧的加速器帮助页面就会显示为您独立分配的加速地址。

1
2
例如:
公网Mirror:[系统分配前缀].mirror.aliyuncs.com

Ubuntu 12.04/14.04操作方法

Ubuntu的配置文件的位置在/etc/default/docker下。您只需要在这个配置文件中添加加速器的配置项,重启Docker就可以了。

1
2
echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=<your accelerate address>\"" | sudo tee -a /etc/default/docker
sudo service docker restart

Ubuntu 15.04/15.10

Ubuntu 15.04之后的加速器配置方式有了一些变化。Ubuntu的配置文件的位置在 /etc/systemd/system/docker.service.d/目录下。在这个目录下创建任意的*.conf文件就可以作为配置文件。然后在这个配置文件中添加加速器的配置项,重启Docker就可以了。

1
2
3
4
5
6
7
8
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/mirror.conf <<-'EOF'
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// --registry-mirror=<your accelerate address>
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

STF

拉取镜像

1
2
3
4
5
6
sudo docker pull openstf/stf:latest # STF镜像
sudo docker pull sorccu/adb:latest # android adb 镜像
sudo docker pull rethinkdb:latest # rethinkdb 镜像
sudo docker pull openstf/ambassador:latest
sudo docker pull nginx:latest # nginx 代理镜像

查看拉取镜像

1
2
3
4
5
6
7
root@ubuntu:/home/mgtv# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
openstf/stf latest 1bd0199c8507 38 hours ago 775MB
nginx latest 62f816a209e6 6 days ago 109MB
rethinkdb latest 991f8de4f998 3 weeks ago 182MB
sorccu/adb latest 7123ee61b746 7 months ago 30.5MB
openstf/ambassador latest b1f0eb8297cf 3 years ago 6.46MB

启动镜像

  1. 先启动一个数据库
1
docker run -d --restart=always --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090
  1. 再启动adb service
1
docker run -d  --restart=always  --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest
  1. 再启动stf 启动的时配置的IP地址为你虚拟机桥接的网址 enp0s3
1
docker run -d --name stf --restart=always    --net host openstf/stf stf local --public-ip 192.168.1.100

ldap方式启动

1
2
sudo docker run -d --name stf --restart=always  --net host openstf/stf stf local --public-ip 172.31.36.77  --auth-type ldap  --auth-options  '["--ldap-url","ldap://10.27.116.158:389","--ldap-bind-dn","stf@mgtv.local","--ldap-search-dn","DC=mgtv,DC=local","--ldap-bind-credentials","dwEeeL2V","--ldap-search-class","user","--ldap-search-field","mail"]'

  1. 查看 启动的docker镜像 命令如下:
1
2
3
4
5
root@ubuntu:/home/mgtv# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d0816e3622f6 openstf/stf "stf local --public-…" 12 seconds ago Up 11 seconds stf
b0f9a341dcf1 sorccu/adb:latest "/sbin/tini -- adb -…" 10 minutes ago Up 10 minutes adbd
b5f23a29ddd3 rethinkdb "rethinkdb --bind al…" 10 minutes ago Up 10 minutes rethinkdb

启动STF

查询服务器ip地址,然后在浏览器输入ip地址:7100即可打开STF主页,登录即可使用。
image

重启STF Dcoker服务

  1. 查询dokcer全部容器
1
2
3
4
5
6
mgtv@ubuntu:~$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d0816e3622f6 openstf/stf "stf local --public-…" 2 months ago Exited (1) About a minute ago stf
b0f9a341dcf1 sorccu/adb:latest "/sbin/tini -- adb -…" 2 months ago Up About a minute adbd
b5f23a29ddd3 rethinkdb "rethinkdb --bind al…" 2 months ago Up About a minute rethinkdb

  1. 启动容器
1
2
3
sudo docker start  容器id

sudo docker start ca78f053002f b0f9a341dcf1 b5f23a29ddd3

3.查看容器log

1
2
3
4
5
sudo docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID


#查看某个事件段的log
sudo docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID

配置 LDAP

1
2
sudo docker run -d --name stf --restart=always   --net host openstf/stf stf local --public-ip 172.31.36.77  --auth-type ldap  --auth-options  '["--ldap-url","ldap://10.26.13.147:389","--ldap-bind-dn","stf@mgtv.local","--ldap-search-dn","DC=mgtv,DC=local","--ldap-bind-credentials","dwEeeL2V","--ldap-search-class","user","--ldap-search-field","mail"]'

VPN配置

1
2
3
4
5
6
mgtv@ubuntu:~$ sudo pptpsetup --create vpn  --server 175.6.15.75  --username shuqing --password 070337Shu  --encrypt --start           
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
CHAP authentication succeeded
MPPE 128-bit stateless compression enabled

添加路由

1
2
3
4
5
mgtv@ubuntu:~$ sudo route add -net 10.1.0.0/16 dev ppp0 
sudo route add -net 10.100.0.0/16 dev ppp0
mgtv@ubuntu:~$ sudo route add -net 10.100.0.0/16 dev ppp0
mgtv@ubuntu:~$ sudo route add -net 10.200.0.0/16 dev ppp0
mgtv@ubuntu:~$ sudo route add -net 10.27.0.0/16 dev ppp0

参考资料