阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Docker搭建测试环境及基本操作

142次阅读
没有评论

共计 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

Docker 搭建测试环境及基本操作


2、从 hub.docker.com 拉取响应的 images
docker pull images

Docker 搭建测试环境及基本操作


3、运行指定的 images,并在 images 里边执行 command 命令
docker run images command

Docker 搭建测试环境及基本操作

4、查看当前运行的 images 的容器
docker ps(-a 查看所有的)如下所示

Docker 搭建测试环境及基本操作

5、获取容器执行的 log
docker logs [options] container

Docker 搭建测试环境及基本操作

6、获取容器现进程
docker top container

Docker 搭建测试环境及基本操作

7、停止或者杀掉运行中的容器
docker stop\kill container

8、查看容器的一些信息
docker inspect container

Docker 搭建测试环境及基本操作


通过以上命令对 docker 的基本操作有了一些了解,
下边介绍一下交互式 docker 的交互式操作

docker run -i -t images
会进入容器的命令行界面,和真是的操作系统一样,有了自己的 terminal,可以自行 shell 命令等一些列从操作

Docker 搭建测试环境及基本操作

执行 exit,容器就会退出,或者执行 Ctrl+p,然后 Ctrl+q,可以保持到后台运行,利用 docker ps 即可查询到,如果觉得麻烦,可以在运行的时候指定一个名字:
docker run -i -t --name containerName images
指定名字为 containerName,利用 docker ps,即可查询到

Docker 搭建测试环境及基本操作

当容器退出以后,再次启动容器,需要用到 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

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3329字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中