400-650-7353

精品课程

您所在的位置:首页 > IT干货资料 > 软件测试 > 【软件测试基础知识】Docker容器化技术在测试平台部署中的应用

【软件测试基础知识】Docker容器化技术在测试平台部署中的应用

  • 发布: 软件测试培训
  • 来源:软件测试干货资料
  • 2021-08-25 10:48:24
  • 阅读()
  • 分享
  • 手机端入口

当前,虚拟化技术在互联网后端应用非常广泛,它可以优化资源利用、方便跨域共享、实现资源隔离。对于企业中的测试人员来说,也不可避免地会接触到,所以有必要加深对它的了解和熟悉。当测试人员职业技能发展到自动化测试、测试开发层次,相应的工作也很可能会从写脚本、搭建框架,升级到开发测试平台,如何高效地实现测试平台的部署、维护,也成为测试人员需要面对的一个问题。本文就从Docker的原理开始,介绍一下Docker容器化技术在测试平台部署中的应用。

虚拟化常用的技术形式,有主机级虚拟化和容器级虚拟化两种形式。

我们通常使用的虚拟机(如VMWare WorkStation),就是典型的主机级虚拟化的形式。在宿主机硬件平台上,先安装宿主机操作系统,然后在操作系统中安装虚拟机管理器。在这个虚拟机管理器的基础之上,可以虚拟出多个硬件平台(如果你的电脑资源足够),然后每个硬件平台上再安装自己的操作系统内核,构造自己的用户空间。这种情况下,不同虚拟机之间的隔离性是非常好的,但过于重量级,消耗大量软硬件资源。

Linux内核的不断演进,使容器级虚拟化成为现实。容器级虚拟化,在宿主机硬件平台的Linux操作系统中,增加一个隔离环境管理器,借助这个隔离环境管理器,直接分出若干个用户空间。这些用户空间中部分资源共享,其他资源则实现彻底的隔离。

容器级虚拟化,是借助于Linux内核的三大技术来实现的。这三大技术就是Chroot、名称空间和CGroups。

Chroot是操作系统级的虚拟机,它可以将指定位置作为/根目录,将程序运行限制在指定根目录中,从而实现操作系统中虚拟出多个根目录,实现了可视化的隔离。

名称空间总共有Mount(文件系统)、UTS(主机名、域名)、IPC(信号量、消息队列、共享内存)、PID(进程编号)、NetWork(网络设备、网络栈、端口等)、User(用户、用户组)六个。从Linux2.4.19开始,直到3.8版本,依次实现了对这六个名称空间的隔离。

CGroups,用来为隔离的用户空间按比例分配CPU、内存等资源。

在以上技术的支撑下,通过系统调用,即可实现容器级虚拟化。但对普通用户来说,系统调用难度太大,于是在Sourceforge上产生了一个叫做LXC的项目。LXC是LinuX Container的简称,它通过二次开发,把系统调用和操作封装成了一组工具。它最早把完整的容器技术用一组工具和模板实现。但它也存在一些问题,如模板需要高度定制,文件和数据迁移困难,对容器批量创建的支持有限,隔离性不够好。于是,在2013年初,在LXC基础上,dotCloud公司推出了开源项目Docker,让用户不用关心容器内部的管理,操作更加简捷。

Docker不是容器,容器是Linux内核支持的功能,而Docker是容器化的简化工具。Docker通过镜像技术 ,把用户空间所需文件整体编排好,打包成镜像文件,放在一个集中的仓库。生成用户空间时,连到服务器上,找到镜像,拖到本地,基于镜像启动容器。这极大地降低了容器的使用难度。在一个容器中只运行一个主进程,进程终止,容器终止。分发部署容易,真正实现了“一次编写到处运行”。

Docker架构如下:

(1)Docker 守护进程(Daemon)

Docker守护进程(dockerd)监听Docker API请求,并管理Docker对象,如镜像(Images)、容器(Containers)、网络(Networks)和卷(Volumes)。守护进程还可以与其他守护进程通信来管理Docker服务。

(2)Docker 客户端(Client)

Docker客户端(Docker)是Docker用户与Docker交互的主要方式。当你使用像docker run这样的命令时,客户端将这些命令发送给dockerd,由dockerd执行它们。docker命令会使用到docker API。Docker客户端可以与多个守护进程通信。

(3)Docker 仓库(registry)

Docker Registry存储Docker镜像。在这些Registry中,Docker Hub是一个任何人都可以使用的公共注册中心,默认情况下,Docker被配置为在Docker Hub上查找镜像。您甚至可以运行自己的私有Registry。当你使用docker pull或docker run命令时,所需的镜像会从你配置的Registry中提取出来。当你使用docker push命令时,你的镜像会被推送到你配置的Registry中。Registry包含很多个Repository,例如,我们可以在Docker hub上查看其下的Repository,它们通常按用户、镜像中的程序划分。

Docker安装步骤如下:

(1)如果已经安装旧版,可以卸载:

yum remove docker docker-common docker-selinux docker-engine

(2)安装基础依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

(3)增加docker yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

(4)如果连接不上,可以使用以下中国科学技术大学的yum源

yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

(5)如果报错,删除对应文件

cd /etc/yum.repos.d/

删除mirrors.ustc.edu.cn相关文件后再增加yum源。

(6)查看docker版本

yum list docker-ce --showduplicates

(7)安装docker

yum install -y docker-ce

(8)如果需要安装指定版本,如下

yum install -y docker-ce-18.06.3.ce

(9)启动docker

systemctl start docker

(10)设置开机启动docker

systemctl enable docker

(11)验证安装

学习疑问申请解答
您的姓名
您的电话
意向课程
 

中公优就业

IT小助手

扫描上方二维码添加好友,请备注:599,享学习福利。

>>本文地址:
注:本站稿件未经许可不得转载,转载请保留出处及源文件地址。

推荐阅读

优就业:ujiuye

关注中公优就业官方微信

  • 关注微信回复关键词“大礼包”,享学习福利
QQ交流群
在线疑问解答
(加群备注“网站”)
IT培训交流群 加入群聊 +
软件测试 加入群聊 +
全链路UI/UE设计 加入群聊 +
Python+人工智能 加入群聊 +
互联网营销 加入群聊 +
Java开发 加入群聊 +
PHP开发 加入群聊 +
VR/AR游戏开发 加入群聊 +
大前端 加入群聊 +
大数据 加入群聊 +
Linux云计算 加入群聊 +
优就业官方微信
扫码回复关键词“大礼包”
享学习福利

测一测
你适合学哪门IT技术?

1 您的年龄

2 您的学历

3 您更想做哪个方向的工作?

获取测试结果
 
课程资料、活动优惠 领取通道