社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

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

jiangxiuli • 4 年前 • 271 次点击  
阅读 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
 
271 次点击