构建测试环境首先要根据自己的需求,构建出适合自己项目的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.com去获取一个基础镜像,比如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),并起一个名字
#-m注释,--author image的作者,倒数第二个是containerID,最后一个参数是image的名字
docker commit -m='the first image' --author='liuweiqiang' 37b1214d33a6 liuweiqiang2v/tupo
以上两种方法就构建了自己的image,但是image只存在本地,怎么让别人也能获取到这个image,从而快速的搭建出一套测试环境
这时候可以把image放到hub.docker.com(国内也有一些代理,可以自行搜索)
先去hub.docker.com申请账号,并创建自己的仓库。
回到保存image的主机。
输入docker login docker.com,根据提示进行操作即可。
然后就是对自己构建的image进行push,可能push过程比较漫长(国内的代理好一些)
docker push $yourImageName
push完毕后,别人就可以通过docker pull从docker.com进行下载了。
注:可以设置自己的仓库为私有的,防止其他人进行pull,或者泄露公司的东西