Docker基础(底层原理)

四、Docker运行底层原理

4.1Docker是怎么工作的

Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上,然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器,容器是一个运行环境,就是docker图标上的集装箱

4.2Docker为什么比VM快
  • Docker有着比虚拟机更少的抽象层。由于docker不需要Hypervisor 虚拟机监视器,是用来建立与执行虚拟机器的软件、固件或硬件。提供虚拟的作业平台来执行客体操作系统(guest operating systems),负责管理其他客体操作系统的执行阶段;这些客体操作系统,共同分享虚拟化后的硬件资源。实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势。
  • Docker利用的是宿主机的内核,而不需Cuest OS客体操作系统。因此,当新建一个容器时,docker不需要和虚拟机一样的重新加载一个操作系统内核。仍而避免引寻、加载操作系统内核反个比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载Guest OS,返个新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了返个过程,因此新建一个docker容器只需要几秒钟
  • 虚拟机、docker对比
Docker容器 虚拟机(VM)
操作系统 与宿主机共享OS 宿主机OS上运行虚拟机OS
存储大小 镜像小,便于存储和传输 镜像庞大(vmdk\vdi)等
运行性能 几乎无额外性能损失 操作系统额外的CPU、内存消耗
移植性 轻便、灵活,适应于Linux
硬件亲和性 面向软件开发者 面向硬件运维者
部署速度 快速,秒级 较慢,10s以上

猜你喜欢

转载自blog.csdn.net/qq_43775034/article/details/108879413