Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上,然后通过Socket连接从客户端访问。
守护进程从客户端接受命令并管理运行在主机上的容器。
容器是一个运行时环境,就是我们前面说到的集装箱。
虚拟机是分钟级的Docker是秒级的。
Docker不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用的都是实际物理机的硬件资源。
当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统的内核。
新建一个虚拟机时,虚拟机软件需要加载Guest OS,整个新建过程是分钟级别的。
而docker由于直接利用宿主机的操作系统,则省略了返个过程,因此新建一个docker容器只需要几秒钟。
虚拟机的架构图:
Docker的架构图
虚拟机和Docker的对比
参考文档: