啥,你还不懂docker?后续实战带你入门

167 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、docker是什么?

windows上,可以理解为它是一个客户端,一个轻量级的类似虚拟机的东东,但它比虚拟机更牛逼。

  • 启动速度:就是双击下QQ的样子,
  • 硬盘使用:也就是MB,虚拟机是GB
  • 性能:本地机的复制
  • 本地机支持:支持1000多docker容器(轻量级虚拟机,共享本地机内核和操作系统),十几个虚拟机, 在这里插入图片描述
  • 官方点说:是基于go语言开发的云开源项目,实现了一个轻量级的操作系统虚拟化。可以把linux、windows、mac操作系统都给虚拟化了。这个是windows的docker的GUI界面。 在这里插入图片描述

二、docker核心概念

  • 仓库(Repository)

存放镜像的地方。比如存放jenkins镜像的地方,hub.docker.com/

  • 镜像(images):

从dockerhub这个仓库里面找到了jenkins镜像文件。 命令窗口下执行:docker pull jenkins/jenkins【执行这条命令,就可以自动从这个网站下载jenkins镜像文件】

在这里插入图片描述 第一次下载会持续安装ing,我这个是已经下载好的,再次安装会显示已经是最新版本的 了 在这里插入图片描述

  • 容器(container)

命令窗口下执行:docker run -d --name myjenkins -p 8099:8080 jenkins/jenkins

在这里插入图片描述 解析:基于上面下载的镜像文件,我们创建了一个jenkins容器,容器是这样的:这个命令用jenkins镜像文件安装了jenkins,并给jenkins外边包了个泡泡,这个泡泡就是容器。泡泡里面的jenkins用的操作系统其实还是主机的系统。

以jenkins举例:三者关系: docker pull jenkins/jenkins >>> 从仓库【hub.docker.com/】下载jenkins镜… docker run jenkins/jenkins >>> 基于镜像(安装包)创建一个容器(容器咋说呢,换个例子:谷歌浏览器82版本,谷歌浏览器83版本,不同的版本可以运行在不同的容器,可以进行分布式测试) docker ps -s 【查看运行的容器】

三、docker的中央仓库

默认的docker中央仓库

hub.docker.com

国内镜像仓库:

hub.daocloud.io
www.163yun.com

四、测试用它解决什么问题?

(1)搭建UI测试执行环境。
【selenium Grid + python多线程 + docker】 实现:千条UI用例可以在:多套IE版本、多套谷歌版本,并发执行测试用例,并最终汇聚一份测试报告。
(2)搭建测试环境。用docker解决测试环境跟开发环境不一致的问题,避免开发甩锅。
(3)搭建各类基础服务、用例jenkins、禅道、testlink等。
(4)解决了大型项目的3个问题:
多种开发语言、运行环境的难以维护环境不一致引发的困惑,开发完成工作,创建镜像到仓库中,测试、生产环境从镜像库中拉取镜像即可。微服务架构中,将一个大的应用拆分成多个微服务,对运维等角色是很大的挑战。

参考: blog.csdn.net/majingjingd…