Docker 教程

Docker 基本组成

点击学习开源企业 Docker 镜像仓库 Harbor 软件 教程。

在学习 Docker 之前,我们先要了解一下Docker 的基本组成以及一些常用到的名词解释,以便在后续更好地理解。

Docker 的架构图如下:

6373a62cc88b9c68abb2e189748e78cb_1724142166991-75fefade-e3b5-4d3d-b460-314777d2c6a2_x-oss-process=image%2Fformat%2Cwebp.png

从上面架构图中可以看出,一个完整的 Docker 有以下几个部分组成:

  • Docker Client(客户端)💻是用户与 Docker 引擎进行交互的工具。

  • Docker Daemon(守护进程)💯是 Docker 架构中的核心组件,负责管理和运行 Docker 容器及相关资源。

  • Docker Image(镜像)💿是 Docker 容器的基础,它就像是一个模板,用于创建 Docker 容器。

  • Docker Container(容器)🗄️是由 Docker 镜像创建的运行实例。

  • Docker Registry(仓库)💢是用于存储和分发 Docker 镜像的地方。

名词解释

镜像(image)

Docker 镜像(Image)就是一个只读的模板。镜像可以用来创建 Docker 容器,一个镜像可以创建多容器。 就好似 Java 中的 类和对象,镜像就相当于类,容器相当于对象!

容器(container)

Docker 利用容器(Container)独立运行的一个或一组应用。容器是用镜像创建的运行实例。

它可以被启动、开始、停止、删除。每个容器都是相互隔离的,保证安全的平台。

可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。

容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的(可以执行一些命令)。

仓库(repository)

仓库(Repository)是集中存放镜像文件的场所。

仓库(Repository)和仓库注册服务器(Registry)是有区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。

仓库分为公开仓库(Public)和私有仓库(Private)两种形式。

最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。

国内的公开仓库包括阿里云 、网易云等。

为什么 Docker 比较 VM 快?

要理解这个问题,我们先看一张图:

image.png

上图中,Docker 有着比虚拟机更少的抽象层(Guest OS)。由于 Docker 不需要 Hypervisor 实现硬件资源虚拟化,运行在 Docker 容器上的程序直接使用的都是实际物理机的硬件资源。因此在 CPU、内存利用率上 Docker 将会在效率上有明显优势。

Docker 利用的是宿主机的内核,而不需要 Guest OS。因此,当新建一个容器时,Docker 不需要和虚拟机一样重新加载一个操作系统内核。而当新建一个虚拟机时,虚拟机软件需要加载 Guest OS,这个新建过程是分钟级别的。而 Docker 由于直接利用宿主机的操作系统,省略了这个过程,因此新建一个 Docker 容器只需要几秒钟。

点击学习开源企业 Docker 镜像仓库 Harbor 软件 教程。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号