Docker的核心组成

tech2023-07-03  104

一、Docker Engine

  虽然我们说 Docker Engine 是一款软件,但实实在在去深究的话,它其实算是由多个独立软件所组成的软件包。在这些程序中,最核心的就是  docker daemon  和  docker CLI  了。 其中  docker daemon  有 容器管理、应用编排、镜像分发等功能, docker daemon 通常以服务的形式运行以便静默的提供这些功能,所以我们也通常称之为 Docker 服务 同时,docker daemon 对外暴露了 一套 RESTful API,并提供了   docker CLI   工具来调用 RESTful API并提供终端指令。    

二、docker daemon 的四个对象

          镜像 ( Image )、容器 ( Container )、网络 ( Network )、数据卷 ( Volume )      

(1) 镜像 ( Image )

镜像: 虚拟环境运行最原始文件系统的内容。 每次对镜像内容的修改,Docker 都会将这些修改铸造成一个镜像层,而一个镜像其实就是由其下层所有的镜像层所组成的。当然,每一个镜像层单独拿出来,与它之下的镜像层都可以组成一个镜像。 另外,由于这种结构,Docker 的镜像实质上是无法被修改的,因为所有对镜像的修改只会产生新的镜像,而不是更新原有的镜像。

(2) 容器 ( Container )

容器:隔离出来的虚拟环境。   如果把 镜像理解为编程中的类,那么 容器就可以理解为类的实例。 镜像内存放的是不可变化的东西,当以它们为基础的 容器启动后, 容器内也就成为了一个“活”的空间。

(3) 网络 ( Network )

在 Docker 中,实现了强大的网络功能,我们不但能够十分轻松的对每个容器的网络进行配置,还能在容器间建立虚拟网络,将数个容器包裹其中,同时与其他网络环境隔离。 另外,利用一些技术,Docker 能够在容器中营造独立的域名解析环境,这使得我们可以在不修改代码和配置的前提下直接迁移容器,Docker 会为我们完成新环境的网络适配。对于这个功能,我们甚至能够在不同的物理服务器间实现,让处在两台物理机上的两个 Docker 所提供的容器,加入到同一个虚拟网络中,形成完全屏蔽硬件的效果。 正是因为拥有强大的网络功能,才能让我们制造健壮的 Docker 应用体系。

(4) 数据卷 ( Volume )

数据卷:通过从宿主操作系统中挂载目录、建立独立的目录持久、在容器间共享等这几种方式进行数据共享或持久化的文件或目录,我们都称为数据卷 ( Volume )。
最新回复(0)