跳转至

Docker 基本概念

Docker 镜像(Image)

Docker 镜像是容器的基础,它是一个只读的模板,包含了运行应用程序所需的所有文件、依赖项和配置。镜像可以通过 Dockerfile 定义,并通过分层存储机制进行构建和优化。

  • 分层存储:Docker 镜像采用分层存储机制,每一层代表镜像的一个变更。这种设计使得镜像的构建和共享更加高效。
  • 镜像仓库:镜像可以存储在本地或远程仓库中,例如 Docker Hub 或私有 Registry。

Docker 容器(Container)

容器是 Docker 镜像的运行实例。它是一个轻量级的、独立的运行时环境,包含了应用程序及其依赖项。容器与宿主机共享操作系统内核,但通过 Namespace 和 Cgroups 实现了资源隔离和限制。

  • 隔离机制:Docker 使用 Linux 的 Namespace 技术实现进程、网络、文件系统等资源的隔离。
  • 资源管理:通过 Cgroups,Docker 可以限制容器的 CPU、内存、磁盘 I/O 等资源使用。

镜像仓库(Registry)

镜像仓库是用于存储和分发 Docker 镜像的服务。常见的公共仓库包括 Docker Hub,用户也可以搭建私有仓库来管理内部镜像。

  • 镜像推送与拉取:用户可以将本地镜像推送到仓库,或从仓库拉取镜像到本地。
  • 镜像签名与验证:Docker 支持镜像签名功能,确保镜像的完整性和安全性。

Docker 网络(Network)

Docker 提供了多种网络模式,用于管理容器之间的通信以及容器与外部网络的连接。

  • Bridge 网络:默认的网络模式,容器通过虚拟网桥与宿主机通信。
  • Host 网络:容器直接使用宿主机的网络栈,无需虚拟化。
  • Overlay 网络:用于跨主机的容器通信,常用于 Docker Swarm 或 Kubernetes 集群。