跳转至

Docker关键技术

关键技术点

隔离机制

Docker 利用 Linux 的 Namespace 技术实现容器的隔离,包括:

  • PID Namespace:隔离进程 ID。
  • Network Namespace:隔离网络接口和配置。
  • Mount Namespace:隔离文件系统挂载点。
  • UTS Namespace:隔离主机名和域名。
  • IPC Namespace:隔离进程间通信。
  • User Namespace:隔离用户和用户组 ID。

资源管理

Docker 使用 Cgroups 技术对容器的资源使用进行限制和管理,包括:

  • CPU 限制:通过 --cpus 参数限制容器的 CPU 使用率。
  • 内存限制:通过 --memory 参数限制容器的内存使用量。
  • 磁盘 I/O 限制:通过 --blkio-weight 参数限制容器的磁盘 I/O。

镜像分层存储

Docker 镜像采用分层存储机制,每一层代表镜像的一个变更。这种设计具有以下优势:

  • 高效构建:只需构建变更的部分,无需重新构建整个镜像。
  • 共享存储:多个镜像可以共享相同的底层镜像,节省存储空间。
  • 快速分发:只需传输变更的部分,减少网络传输量。