docker实现web端自动化测试(docker运行GUI)

来源:互联网 发布:dwg mac 免费 编辑:程序博客网 时间:2024/06/06 02:52

最近正在将自动化代码,移植到docker容器中,以方便打包给客户,顺便就把一些心得写下吧。话不多说,下面进入正题。

在这里先说明,本文章的目的在于如何使用docker,而不是深入研究其原理。大笑


1.先普及一下什么是docker

  dockers是一个开源的应用容器引擎,让使用者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上。


2.环境搭建正式开始

   理解docker是什么了之后,现在开始正式构建吧(本文以Ubuntu16.04为基础搭建)。

   2.1 下载docker工具 

                     sudo apt-get install docker (此方法下载不一定是最新的docker,但不影响使用)

   2.2下载docker镜像

                      sudo docker search $(you need images name)

                      sudo docker pull $(you want to use image name)

   2.3搭建符合自己需求的image(注意apt-get源)

         (1)  通过dockerfile文件搭建(官方推荐),通过编写dockerfile文件(dockerfile文件如何编写,网上有很多教程,在这里不详叙述)。

               编写完成dockerfile,打开ubuntu终端,cd到dockerfile所在目录下,运行如下命令

                       sudo docker build -t="你的镜像名字:镜像Tag" .

                注意命令行里面最后那个".",不要丢了。

         (2) 通过commit命令构建,方法如下

                    sudo docker -it $(you image name) bash 进入docker容器伪终端,然后在终端里面安装自己需要的配件,安装完成后,

               退出当前伪终端,运行下面命令完成新镜像搭建。

                    sudo docker  ps  -a  查找当前运行的容器 ID

                    sudo docker commit $(ID)  "你的镜像名字:镜像Tag"  

     2.4 实现GUI运行

          使用Xvfb来提虚拟界面显示,使用x11vnc获取Xvfb中显示内容数据,docker容器通过暴露的端口映射到主机的某一个端口,主机

          通过VNCviewer就可以查看docker容器中浏览器运行画面。

                    sudo apt-get installl xvfb

                    sudo apt-get install x11vnc

                    Xvfb :99 &

                    export DISPLAY=:99

                    x11vnc -storepasswd(设置x11vncserver密码)

                    x11vnc -forever -usepw -shared -rfbport $(容器暴露端口号) -display $(DISPLAY) &

       2.5 运行

            至此一个可以观察容器里面浏览器运行的image搭建完毕,运行以下命令用一下吧。

                    sudo docker run  -p  127.0.0.1:5000:5900(image暴露的端口)  -it  $(imageName:imageTag) bash

                    sudo    vncviewer 127.0.0.1:5000 (输入x11vncserver密码,即可以了)

                 






 

        



阅读全文
0 0
原创粉丝点击