Docker底层原理
底层原理
HelloWorld 执行流程
Docker是怎么工作的
Docker是一个Client-Server结构的系统,Docker的守护进程在主机上。通过Socket从客户端访问
DockerServer接收到Docker-Client的指令,就会执行这个命令
Docker为什么比VM块
- Docker有着比虚拟机更少的抽象层
- Docker利用的是宿主机的内核,VM需要是Guest OS
虚拟机需要先在宿主机操作系统上安装虚拟机管理软件Hypervisor,然后在每台虚拟机内用户安装需要的操作系统和依赖文件,并且需要预分配一定的硬件资源。虚拟机一旦开启,无论应用程序需要的资源量大小,预分配的资源将被全部占用,造成很大的资源浪费,而且每次启动虚拟机,都需要启动一次虚拟机内的操作系统,很耗时。
容器相当于直接在宿主机操作系统的基础上开启一个进程,各个容器共享宿主机的硬件资源和操作系统,可以实现资源的动态分配,并且启动容器就是启动一个进程,速度很快,应用程序直接在各个容器内运行,互不影响。资源和时间都开销很低。
所以说,新建一个容器的时候,Docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导,虚拟机是加载Guest Od,分钟级别的,而Docker是利用宿主机的操作系统,省略了引导,秒级的