Docker搭建测试环境及基本操作
Docker搭建测试环境及基本操作
软件测试过程中,总会碰到测试环境不够⽤的尴尬情况。即时有了机器还要经历装系统,配置环境,调试等⼀系列繁琐的问题。虽然市⾯上也有⼀些批处理话的⼯具(如salt,fabric等),但是还是需要实体机器作为⽀撑,增⼤成本。
这⾥介绍⼀个可以⽤虚拟测试环境的软件docker。
更多Docker相关教程见以下内容:
Docker 的详细介绍:
Docker 的下载地址:
开始安装。戴玳瑁手串有什么好处
环境是CentOS 6.7。
注:需要sudo或者root权限
1、更新系统,yum -y update,⽤来更新系统
如果没有wget命令,请⾃⾏yum install wget,然后再执⾏以上命令
3、service docker start 启动docker服务,并验证是否启动成功
ps -ef | grep docker
4、chkconfig docker on,设置为开机启动
5、执⾏⼀个docker pull centos命令,会从hub.docker开始下载centos7的最新官⽅images
Docker的基本操作
上⾯⽂章中最后执⾏了docker pull centos的指令,经过⼀段时间的等待,会从hub.docker上下载docker官⽅最新的centos的images,接下来熟悉⼀下docker的⼀些基本操作。
1、查看本地的images
docker images
2、从hub.docker拉取响应的images
docker pull images
3、运⾏指定的images,并在images⾥边执⾏command命令
十进制转换十六进制过程docker run images command
4、查看当前运⾏的images的容器
docker ps (-a 查看所有的)如下所⽰
5、获取容器执⾏的log
docker logs [options] container
6、获取容器现进程
docker top container
7、停⽌或者杀掉运⾏中的容器
docker stop\kill container
8、查看容器的⼀些信息
docker inspect container
通过以上命令对docker的基本操作有了⼀些了解,
下边介绍⼀下交互式docker的交互式操作
docker run -i -t images
会进⼊容器的命令⾏界⾯,和真是的操作系统⼀样,有了⾃⼰的terminal,可以⾃⾏shell命令等⼀些列从操作
执⾏exit,容器就会退出,或者执⾏Ctrl+p,然后Ctrl+q,可以保持到后台运⾏,利⽤docker ps即可查询到,如果觉得⿇烦,可以在运⾏的时候指定⼀个名字:
docker run -i -t --name containerName images
指定名字为containerName,利⽤docker ps,即可查询到
当容器退出以后,再次启动容器,需要⽤到docker start命令
docker start containerId or containerName
启动以后,不会进⼊到命令终端的界⾯,此时需要执⾏docker attach的命令
docker attach containerId or containerNamecentos和ubuntu
以上就是docker的⼀些基本操作,下⼀篇会介绍如何构造⾃⼰的images,并push到hub.docker,为后来搭建测试环境做准备
Docker构建测试环境
构建测试环境⾸先要根据⾃⼰的需求,构建出适合⾃⼰项⽬的image,有了⾃⼰的image,就可以快速的搭建出来⼀套测试环境了。
下边就说⼀下构建image的两种⽅式。
1、DOCKFILE
创建⽂件夹:mkdir mydockerbuild
进⼊刚刚创建的⽂件夹:cd mydockerbuild
创建⼀个Dockerfile的⽂件
touch Dockerfile
编辑⽂件
#基于那个image进⾏修改的
FROM docker/whalesay:latest
#更新系统并安装fortunes软件
RUN apt-get -y update && apt-get install -y fortunes
#执⾏⼀个命令
CMD/usr/games/fortune -a | cowsay
退出并保存Dockerfile⽂件
#在⽂件夹下执⾏如下命令
#-t是对当前的⾃⼰构建仓库名称
还在当前⽂件夹下,执⾏ docker build -t docker-whale .
这样本地就会多⼀个docker-whale的REPOSITORY
2、利⽤image,⾃⼰⼿动构建⾃⼰的image
#⾸先从hub.docker去获取⼀个基础镜像,⽐如centos,ubuntu等
docker pull $imageName
#⽤上边下载的image启动⼀个容器,如下
#-i,采⽤交互式的⽅式启动容器,-t启动⼀个命令终端, --name给容器命名, --hostname给容器内的主机命名
sudo docker run -i -t --name $yourContainerName --hostname=xiaoqiang $imageName
#进⼊容器的交互式命令终端,现在就相当于在⼀台⼲净的服务器上,需要⾃⼰去安装搭建测试环境所需要的组件
#例如 yum install nginx 等
#对修改后的image进⾏提交(commit),并起⼀个名字arm9开发板keil
#-m注释,--author image的作者,倒数第⼆个是containerID,最后⼀个参数是image的名字
docker commit -m='the first image' --author='liuweiqiang' 37b1214d33a6 liuweiqiang2v/tupo
以上两种⽅法就构建了⾃⼰的image,但是image只存在本地,怎么让别⼈也能获取到这个image,从⽽快速的搭建出⼀套测试环境
这时候可以把image放到hub.docker(国内也有⼀些代理,可以⾃⾏搜索)
先去hub.docker申请账号,并创建⾃⼰的仓库。
linux文件移动到另一个文件夹回到保存image的主机。
输⼊docker login docker,根据提⽰进⾏操作即可。
然后就是对⾃⼰构建的image进⾏push,可能push过程⽐较漫长(国内的代理好⼀些)
assistant怎么加antdocker push $yourImageName
push完毕后,别⼈就可以通过docker pull从docker进⾏下载了。
注:可以设置⾃⼰的仓库为私有的,防⽌其他⼈进⾏pull,或者泄露公司的东西
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论