共计 3329 个字符,预计需要花费 9 分钟才能阅读完成。
软件测试过程中,总会碰到测试环境不够用的尴尬情况。即时有了机器还要经历装系统,配置环境,调试等一系列繁琐的问题。虽然市面上也有一些批处理话的工具(如 salt,fabric 等),但是还是需要实体机器作为支撑,增大成本。
这里介绍一个可以用虚拟测试环境的软件 docker。
更多 Docker 相关教程见以下内容:
Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm
Ubuntu 14.04 安装 Docker http://www.linuxidc.com/linux/2014-08/105656.htm
Ubuntu 使用 VNC 运行基于 Docker 的桌面系统 http://www.linuxidc.com/Linux/2015-08/121170.htm
Docker 开发平台的构建 http://www.linuxidc.com/Linux/2017-03/141592.htm
Ubuntu 15.04 下安装 Docker http://www.linuxidc.com/Linux/2015-07/120444.htm
在 Ubuntu Trusty 14.04 (LTS) (64-bit)安装 Docker http://www.linuxidc.com/Linux/2014-10/108184.htm
在 Ubuntu 15.04 上如何安装 Docker 及基本用法 http://www.linuxidc.com/Linux/2015-09/122885.htm
Ubuntu 16.04 上 Docker 使用手记 http://www.linuxidc.com/Linux/2016-12/138490.htm
Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里
开始安装。
环境是 CentOS 6.7。
注:需要 sudo 或者 root 权限
1、更新系统,yum -y update,用来更新系统
2、执行如下命令,进行 docker 的自动安装:wget -qO- https://get.docker.com/ | sh。
如果没有 wget 命令,请自行 yum install wget,然后再执行以上命令
3、service docker start 启动 docker 服务,并验证是否启动成功
ps -ef | grep docker
4、chkconfig docker on,设置为开机启动
5、执行一个 docker pull centos 命令,会从 hub.docker.com 开始下载 centos7 的最新官方 images
docker 官方参考资料 https://docs.docker.com/linux/
Docker 的基本操作
上面文章中最后执行了 docker pull centos 的指令,经过一段时间的等待,会从 hub.docker.com 上下载 docker 官方最新的 centos 的 images,接下来熟悉一下 docker 的一些基本操作。
1、查看本地的 images
docker images
2、从 hub.docker.com 拉取响应的 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 containerName
以上就是 docker 的一些基本操作,下一篇会介绍如何构造自己的 images,并 push 到 hub.docker.com, 为后来搭建测试环境做准备
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.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,或者泄露公司的东西
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141594.htm