什么是Docker?

Docker就是一个基于Go语言开发的开源的容器引擎,它可以让开发者打包一个应用及其依赖到一个轻量级、可移植的容器中,然后发布到Linux等系统。那我们为什么要使用Docker呢,或者说Docker有哪些优势呢?总体而言Docker有以下优势:

  • 快速,一致地交付您的应用程序
  • 响应式部署和扩展
  • 在同一硬件上运行更多的负载

Docker的核心组成有哪些

在 Docker 体系里,有四个对象 ( Object ) 是我们不得不进行介绍的,因为几乎所有 Docker 以及周边生态的功能,都是围绕着它们所展开的。它们分别是:镜像 (Image)容器 (Container)网络 (Network)数据卷 (Volume)




docker desktop container分类 docker有哪几部分组成_数据


1.镜像

所谓镜像,可以理解为一个只读的文件包,其中包含了虚拟环境运行最原始文件系统的内容。它区别于我们以前理解的虚拟机中的镜像, Docker 中的一个创新是利用了 AUFS 作为底层文件系统实现,通过这种方式,Docker 实现了一种增量式的镜像结构,每次对镜像进行修改就会产生一个新的镜像层,这个镜像层是基于下层的镜像组成的。此处讲的有点抽象,以后的文章我会讲到Dockerfile,Dockerfile文件中的每一个指令就会构造一个镜像层,这里就先卖个关子了。

2.容器

在容器技术中,容器就是用来隔离虚拟环境的基础设施,而在 Docker 里,它也被引申为隔离出来的虚拟环境。容器是基于镜像创建的。有的教程把镜像比作oop编程中的类,而容器就是类的实例。我这里也举一个例子:镜像就好比印钞用的模具,容器就是基于模具印出来的钞票。每种钞票都有它的编号,如:1元、10元、20元,同样的100元钞票每一张都有自己的编号,但是同样面值的钞票他们的购买力是一样的。那么镜像和容器也一样,都有属于自己的唯一的ID

3.网络

对于大部分程序而言它都不是独立运行的,都需要和别的程序进行交互,交互的目的当然就是为了数据信息的交换。网络通讯就是信息交互的一种重要手段。 Docker当然也实现了强大的网络功能,我们不但能够十分轻松的对每个容器的网络进行配置,还能在容器间建立虚拟网络,将数个容器包裹其中,同时与其他网络环境隔离。

4.数据卷

除了网络之外,文件也是重要的进行数据交互的资源。在以往的虚拟机中我们采用虚拟机的文件系统来做存储,但是一旦虚拟机崩溃我们的文件就没有我们想象的那么安全了,也许就是不可恢复的。而Dokcer提供了一个很好的解决方案,它允许用户将容器中的存储目录挂载出来,这样即使容器误删除了我们的数据依然存在,通过docker run命令我们可以重新启动容器然后挂载目录,我们的应用又能快速投入使用。

以上就是Docker中重要的四个核心组成部分,如有讲的不正确支出还望各位看官不吝赐教,指正