Docker是一个Client-Server结构(CS)的系统,Docker守护进程运行在主机上,然后通过Socket连接从客户端访问,守护进程从客户端接受命令并且管理运行在主机上的同期。容器:是一个运行时环境,就是docker鲸鱼上面的集装箱
    image.png
    image.png

    为什么docker比vm快
    1)docker有着比虚拟机更少的抽象层。由于docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率等上面,docker都有明显的效率优势。
    2)Docker利用的宿主机的内核,而不需要Guest OS。因此,当新建一个容器时,docker不需要和虚拟机一样重新加载一个新的操作系统内核。从而避免引导、加载操作系统内核这个比较费时费资源的过程,当新建一个虚拟机时,虚拟软件需要加载Guest OS,返回新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了这个过程,也因此新建一个docker容器只需要几秒钟。
    image.png
    左边是虚拟机,右边是docker,可以看到docker离硬件更近,建立在docker引擎(Engine)之上,占用的资源更少

    image.png