typora/note/devops/docker/核心原理.md

10 lines
1.5 KiB
Markdown
Raw Permalink Normal View History

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