Docker和虚拟化的对比

1-ndpw.png
2-ngfh.png

Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便、快捷。
传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,以进程为单位,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。

特性容器虚拟机
启动秒级分钟级
硬盘使用一般为 MB一般为 GB
性能接近原生弱于原生
系统支持量单机支持上千个容器一般几十个
隔离策略操作系统级别进程级别
可持续性跨物理机迁移跨操作系统迁移

Docker架构

3-siuu.png

Docker的总体架构

Docker采用客户端-服务器(C/S)架构。这种架构包括一个服务器端的Docker守护进程(Docker Daemon)和一个客户端命令行接口(CLI)。守护进程负责创建、运行和管理容器,而CLI则允许用户与Docker守护进程交互。

Docker Daemon(守护进程)

  • 运行在宿主机上。
  • 负责处理Docker API请求,并管理Docker对象,如镜像、容器、网络和卷。

Docker Client(客户端)

  • 用户通过Docker客户端与Docker守护进程交互。
  • 发送命令到Docker Daemon,如docker run、docker build等。

Docker Registry(注册中心)

  • 用于存储Docker镜像。
  • Docker Hub是最常用的公共注册中心,但用户也可以搭建私有注册中心。

Docker Images(镜像)

Docker镜像是一个轻量级、可执行的包,包含运行应用所需的一切:代码、运行时、库、环境变量和配置文件。

Docker Containers(容器)

容器是Docker镜像的运行实例。它在镜像的顶层添加一个可写层,并通过Docker守护进程在用户空间中运行,容器可以被创建、启动、停止、删除、暂停等。容器不应该向其存储层内写数据,所有的文件写入操作,都应该使用 数据卷(Volume)

Docker的核心组件

  • Docker Engine:负责创建和管理容器。
  • Docker Images:包含应用及其运行环境的蓝图。
  • Docker Containers:运行中的镜像实例。
  • Docker Hub:一个共享和存储容器镜像的公共服务。
文章作者: 路西法
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 以梦为马
docker docker
喜欢就支持一下吧