[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UMLF0FjX-1645895941593)(C:\Users\Leaf\AppData\Roaming\Typora\typora-user-images\image-20220225183558097.png)]
上图为指令docker run的运行过程。
Docker是怎么工作的?
Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问。
DockerServer接收Docker-Client的命令,然后执行命令。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DWSwnaTA-1645895941594)(C:\Users\Leaf\AppData\Roaming\Typora\typora-user-images\image-20220225184246786.png)]
Docker为什么比VM快?
1.Docker有着比虚拟机更少的抽象层。
2.docker利用的是宿主机的内核,vm需要的是Guest OS。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uwZPsTNK-1645895941594)(C:\Users\Leaf\AppData\Roaming\Typora\typora-user-images\image-20220226000112917.png)]
所以说新建一个容器的时候,docker不需要像一个虚拟机一样重新加载一个操作系统内核,避免引导。虚拟机是加载Guest OS,分钟级别;而docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级。