文章目录
前言
Docker 是一种容器化技术,它通过利用 Linux 内核提供的虚拟化技术和隔离机制,实现了更轻量级的应用程序虚拟化方案
命名空间
Docker 使用了 Linux 的命名空间特性,包括 mount、PID、network 等,这些命名空间将不同的资源隔离开来,使得容器内的进程看起来像在独立的环境中运行,从而降低了容器间的干扰。
控制组
Docker 利用 Linux 的控制组(cgroup),可以对容器内的资源进行限制和管理,比如 CPU、内存、磁盘等。通过使用 cgroup,Docker 可以为容器分配适量的资源,并限制其使用的资源量,保障容器的性能和稳定性
分层存储
Docker 使用分层存储的方式来管理镜像。镜像可以通过多个只读层叠加在一起,形成一个可读写的容器层。这种分层存储的方式,使得镜像可以共享公共的基础层,减少了占用存储空间的同时也提高了镜像的复用性和下载速度
镜像和容器
Docker 镜像是一个只读的模板,包含了运行应用程序所需的文件系统和软件。容器是基于镜像创建的一个运行实例,它可以被启动、停止、删除和暂停。一个镜像可以同时创建多个容器运行
Docker Engine
Docker Engine 是 Docker 的核心组件,负责管理容器的生命周期,包括创建、运行、停止和删除容器。它也负责监控容器的状态,并提供了一系列的命令行工具和 API,用于与 Docker 进行交互
Docker Registry
Docker Registry 是一个集中存储和分发镜像的服务。它可以用来存储自定义的镜像,也可以从公共的 Docker Hub 上下载镜像。Docker Registry 允许用户创建私有的 Registry,用来存储和分享自己的镜像