Docker的核心组成

本文深入探讨DockerEngine的内部组成,详细介绍了dockerdaemon及其提供的RESTfulAPI,以及dockerCLI如何与其交互。同时,文章重点讲解了Docker的四大核心对象:镜像、容器、网络和数据卷的功能及工作原理。
摘要由CSDN通过智能技术生成

一、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 )。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值