一、Docker 基础概念
- Docker: 一个容器化平台,可将应用程序及其依赖打包成轻量级、可移植的容器。
- 镜像: 只读模板,用于创建 Docker 容器,包含运行应用程序所需的代码、运行时、系统工具和库。
- 容器: 镜像的运行实例,是一个隔离的进程空间,包含应用程序及其运行环境。
- Docker 仓库: 存储和分发镜像的地方 (如 DockerHub)。

二、Docker 架构概览
Docker 采用客户端 - 服务器的分布式架构,分为以下几个关键部分:
- Docker Client (客户端)
- Docker Daemon (守护进程)
- Docker Image (镜像)
- Docker Container (容器)
- Docker Registry (镜像仓库)
这些组件通过标准 API 进行交互,共同构建了一个完整的容器管理生态系统。

1. Docker 客户端 (Docker Client)
Docker 客户端是用户与 Docker 的主要交互方式,通常是通过命令行工具 (CLI) 实现的。它接受用户的指令,并将这些指令通过 RESTful API 发送给 Docker Daemon 处理。
主要功能:
- 镜像管理:拉取、构建、上传镜像。
- 容器管理:创建、启动、停止、删除容器。
- 日志与状态查询:查看容器状态、日志和性能指标。
2. Docker 守护进程 (Docker Daemon)
Docker Daemon 是 Docker 的核心后台服务,负责实际执行容器的创建、运行和管理任务。它在主机上运行,监听 Docker API 请求。
主要功能:
- 容器管理:负责启动、停止和销毁容器。
- 镜像管理:下载、存储和分发镜像。
- 资源分配:管理容器的 CPU、内存、网络等资源。
- 网络功能:配置容器间的网络通信。
3. Docker 镜像 (Docker Image)
Docker 镜像是容器的只读模板,包含了运行应用所需的所有文件、依赖和配置。它类似于虚拟机的快照,但更轻量。
特点:
- 分层结构:Docker 镜像采用联合文件系统 (UnionFS) 技术,由多层叠加组成。每一层都对应一次文件系统的更改操作。
- 可复用:不同的镜像可以共享底层的公共层,显著减少存储空间需求。
4. Docker 容器 (Docker Container)
容器是镜像的运行实例,包含了应用程序及其运行环境。它是 Docker 的核心对象,提供了轻量级、隔离的运行环境。
特点:
- 隔离性:每个容器运行在自己的用户空间中,拥有独立的文件系统、网络和进程空间。








