typora/note/devops/docker/核心原理.md
2024-12-12 10:48:55 +08:00

1.5 KiB
Raw Blame History

Docker 是一个开源的应用容器引擎,它的核心原理主要基于以下几个方面:

  1. 容器化技术Docker 使用了 Linux 内核的一些特性(如 cgroups 和 namespaces来实现容器化。容器内的应用程序和宿主机共享同一个内核但是在文件系统、网络、进程树等方面容器内的应用程序和宿主机是隔离的。这使得容器非常轻量级启动速度非常快。
  2. 镜像Docker 使用镜像Image来打包和分发应用程序。Docker 镜像是只读的,包含了运行应用程序所需的所有内容,包括代码、运行时、库、环境变量和配置文件。
  3. 层次存储Docker 镜像是分层的,每一层都对应 Dockerfile 中的一条指令。这种分层的结构使得 Docker 镜像的复用、共享和修改变得非常容易。当构建镜像或启动容器时Docker 会使用 Union File System联合文件系统来将这些层组合到一起形成一个统一的视图。
  4. Docker DaemonDocker Daemon 是一个后台服务进程,负责构建、运行和管理 Docker 容器。用户通过 Docker Client命令行或 API和 Docker Daemon 进行交互。
  5. 网络Docker 提供了多种网络模式,如 bridge 网络、host 网络和 overlay 网络以满足不同的网络需求。Docker 也支持用户自定义网络。
  6. 存储Docker 提供了多种存储选项,如 bind mount、volume 和 tmpfs以满足不同的存储需求。Docker 也支持用户自定义存储驱动。