使用docker搭建自动化规则测试环境

一、问题场景

自动化规则测试环境,使用python2编写,依赖于redis-py-cluster,pykafka,futures,mysql-python。在本地搭建测试环境,python安装 没有出现问题,但是在安装python插件时,遇到问题较多,解决花费时间较长,且未能完全解决,导致测试环境迟迟不能运行。所以决定采用docker来 搭建测试环境。

二、搭建步骤

以下为搭建环境的步骤

1、安装docker环境不提

2、创建基本python环境,并安装插件

  • 创建Dockerfile文件
  • 在Dockerfile中输入如下代码 “` FROM centos:7 MAINTAINER Augustus “qianwx@asiainfo.com”
RUN yum -y update RUN yum -y install epel-release RUN yum -y install python-pip RUN yum -y install mysql-devel RUN yum -y install python-devel RUN yum -y install MySQL-python RUN pip install –upgrade pip RUN pip install pykafka RUN pip install mysql RUN pip install redis-py-cluster RUN pip install futures

build 基本镜像,执行命令

docker build py_auto:v1 .

3、创建支持java命令环境

创建Dockerfile

mkdir v2 && cd v2 &&  vi Dockerfile ``` * 从oracle下载linux-jdk8到当前目录 * 在Dockerfile中输入如下命令 ``` FROM py_auto_base:v2 MAINTAINER Augustus "qianwx@asiainfo.com"
ADD ./jdk-8u151-linux-x64.rpm /opt/ RUN rpm -ivh /opt/jdk-8u151-linux-x64.rpm RUN rm -f /opt/jdk-8u151-linux-x64.rpm

执行如下命令

docker build py_auto:v2 .

4、创建测试环境

在项目目录下创建Dockerfile

在Dickerfile中输入如下命令

FROM py_auto_base:v2 MAINTAINER Augustus “qianwx@asiainfo.com”

RUN mkdir /py_auto VOLUME [“/py_auto”]

CMD [“/bin/bash”]

运行命令

docker build auto_test:v1 .

三、运行并执行测试

如果上面一切顺利,那我们这边已经成功构建了auto_test:v1镜像。下面我们来启动镜像并运行测试环境。

启动镜像

docker run -v /Users/augustus/asiawork/pytest/py-autotest-frame:/py_auto –name auto_test -d -it auto_test:v1

运行测试

docker exec auto_test python /py_auto/pyautotestframe/pyautotestframe.py -m sample-test

这样成功运行了测试实例。

四、一点心得

采用docker,快速的搭建了测试环境,在新增人员的情况下,可以节省不少时间在环境搭建上。就是对于开发 者也可以避免很多搭建环境的问题。

本示例采用的是每次一执行,所以使用docker exec,在有些情况下,需要启动镜像便运行环境的时候,可以 在Dockerfile中使用ENTRTPOINT来以使镜像启动便运行。

标签:Docker 发布于:2019-11-03 13:15:31