1.传统虚拟机与容器比较
传统虚拟机使用了 Hypervisor/VMM(虚拟机监控器),它允许多个操作系统共享一个或多个 CPU,由于虚拟机中包括全套的 OS,调度与资源占用都非常重。
容器(container)是一种更加轻量级的操作系统虚拟化技术,它将应用程序,依赖包,库文件等运行依赖环境打包到标准化的镜像中,通过容器引擎提供进程隔离、资源可限制的运行环境,实现应用与 OS 平台及底层硬件的解耦。
2.Docker架构
容器客户端(Client)
Docker 的客户端,其主要任务是接收并解析用户的操作指令和执行参数,收集所需要的配置信息,根据相应的 Docker 命令通过 HTTP 或 REST API 等方式与 Docker daemon(守护进程)进行交互,并将处理结果返回给用户,实现 Docker 服务使用与管理。
容器管理引擎进程(Host)
容器引擎进程是 Docker 架构的核心,包括运行 Docker Daemon(守护进程)、Image(