Py学习  »  docker

容器化技术(三):Docker的运转流程

jiangxiuli • 3 年前 • 215 次点击  
阅读 5

容器化技术(三):Docker的运转流程

Docker的本质是容器运行时,它是CS架构的,也就是我们通过客户端可以操作Docker服务端。 为了方便大家理解,我们不上来就讲解Docker内部的底层运作原理,我们先从Docker的运转流程开始,让大家知道Docker是什么。 Docker的整体运转流程包括三个重点:

  1. 镜像:
  2. 仓库
  3. 容器

一、镜像(Image)

这是Docker的一大发明,Docker之所以这么火,跟这个镜像的发明也有很大的关系。 一句话来说,镜像把你的程序包与相关的依赖打包了起来,成为image,也就是镜像。 所以想要在企业内部进行容器化,第一关就是要将应用程序封装成镜像。

二、仓库(Repository)

既然镜像是容器化的基础,那么镜像如何进行管理呢,仓库(Repository)就是用来管理镜像的,它分为官方的公有镜像库,官方的私有镜像库,以及企业自建的私有镜像库,私有镜像库以Harbor为主要代表,我们会在后续的文章中说明。

三、容器(Container)

有一些朋友会把容器与镜像有点混,镜像是静态的包,而镜像运行起来的动态表现就是容器了。跟我们的程序与进程的关系很像,程序类比我们的镜像,程序运行起来,在操作系统里以进程的方式运行,这里的进程就好比我们的容器。

四、Docker的运转流程

一图胜前言,如下是Docker的运转流程。 在这里插入图片描述 如果大家跟着我前面的文章,大家应该已经搭建好了Docker,而且熟悉了Docker的基本操作。 那么我们看看Docker的一条run命令的后面是怎么做的呢? 虽然Docker的操作很简单,但是其后面做的事情是很多的。我们以一条Docker的Run命令为例子,来说明下它后面的动作。

第一步:我们通过客户端向Docker Server发送了一条docker run的命令。 第二步:Docker Server会查看本地是否有对应的镜像,如果有的话直接进入第四步,否则进入第三步。 第三步:Docker 会去镜像仓库中下载对应的image到本地。 第四步:拥有了镜像,Docker将镜像运转起来,成为容器,这其中最重要的会为运行起来的容器分配相应的运行需要的资源,如网络,存储,Cpu,内存等。

五、后续内容展望

Docker以容器的方式运行起来了,那么Docker的底层到底隔离了哪些资源呢?底层逻辑是什么呢? 参考我的另一篇文章:初识Docker(4):容器到底隔离了什么?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/111618
 
215 次点击