首页 > 自动化运维 > DevOps > docker笔记6-docker运行的底层原理
docker是一个client-server结构的系统,docker守护进程运行在主机上,然后通过socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。容器,是一个运行时的环境,就是我们说的集装箱。
为什么docker比虚拟机vm快?
1)、docker有着比虚拟机更少的抽象层。由于docker不需要hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的是实际物理机的硬件资源。因此在cpu、内存利用率上docker将会在效率上有明显的而优势;
2)、docker利用的是宿主机的内核,而不需要guest os。因此当建立一个容器时,docker不需要和虚拟机一样重新加载一个操作系统的内核。从而避免加载操作系统内核返回比较费时的资源过程,当新建一个虚拟机时,虚拟机软件需要加载guest os,返回新建过程是分钟级的。而docker由于直接利用宿主机的操作系统,则省略了加载过程,因此新建一个docker容器只需要几秒。
|
|
docke容器 | 虚拟机(vm) |
| 操作系统 | 与宿主机共享os | 宿主机os上运行虚拟机os |
| 存储大小 | 镜像小,便于存储于运输 | 镜像庞大,vmdk、vdi等 |
| 运行性能 | 几乎无性能损失 | 操作系统额外的cpu、内存消耗 |
| 移植性 | 轻便、灵活、适用于Linux | 笨重、与虚拟机化技术耦合度高 |
| 硬件亲和性 | 面向软件开发者 | 面向硬件运维者 |
| 部署速度 | 秒级 | 分钟级 |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28916011/viewspace-2212977/ ,如需转载,请注明出处,否则将追究法律责任。