(04)Docker运行演示hello-world及其底层原理

  1、运行hello-world镜像

docker run hello-world

由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行,输出“Hello from Docker!”后容器停止

(04)Docker运行演示hello-world及其底层原理

运行过程总结如下:

开始Docker在本机中寻找该镜像 ,如果找到,以该镜像为模板生产容器实例运行,否则的话去远程库上寻找该镜像,如果找到就下载该镜像到本地,并以该镜像为模板生产容器实例运行,否则返回失败错误,找不到该镜像。

  2、Docker是怎样工作的

Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上,然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。容器,是一个运行时环境,就是我们前面说到的集装箱。

(04)Docker运行演示hello-world及其底层原理

  3、为什么Docker比VM快

(1)docker有着比虚拟机更少的抽象层。由于docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势。

(2)docker利用的是宿主机的内核,而不需要Guest OS。因此,当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。能够避免加载操作系统内核这个比较费时费资源的过程。当新建一个 虚拟机时,虚拟机软件需要加载Guest OS,这个新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了这个过程,因此创建一个docker容器只需要几秒钟。

下图是docker和虚拟机的对比:

(04)Docker运行演示hello-world及其底层原理

(04)Docker运行演示hello-world及其底层原理

相关推荐