接上一篇的docker简介和安装,最后我们测试的时候执行一条语句
docker run hello-world
非常像我们学习每一门语言的时候第一次都是输出hello world,非常接地气啊
1.docker run hello-world干了什么,
run是运行一个镜像的命令,但是我们刚安装好并没有镜像,所以如图
运行过程:
开始Docker在本机中寻找该镜像 ,如果找到,以该镜像为模板生产容器实例运行,否则的话去远程库上寻找该镜像,如果找到就下载该镜像到本地,并以该镜像为模板生产容器实例运行,否则返回失败错误,找不到该镜像。
2.Docker是怎么工作的
Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上, 然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。 容器,是一个运行时环境,就是我们前面说到的集装箱。
3.为什么Docker比较比VM快
1.docker有着比虚拟机更少的抽象层。docker不需要实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势
2.docker利用的是宿主机的内核,而不需要Guest OS。因此,当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。仍而避免引寻、加载操作系统内核返个比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载Guest OS,返个新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了返个过程,因此新建一个docker容器只需要几秒钟。
总结:docker就是一个运行在宿主机上的软件(所以比系统启动更快),而在他这个软件里面运行的是我们安装的mysql,nginx等等软件
对比
Docker的架构图(Docker的基本组成)
本帖子内容本非完全原创,大部分参考尚硅谷2018周阳老师的教程(B站)。强烈推荐