为什么会有Docker

因为虚拟机技术有些缺点

  • 资源占用十分多
  • 冗余步骤多
  • 启动很慢
    docker是容器化技术,不是模拟的一个完整的操作系统

Docker和传统虚拟机的不同

  • 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
  • 容器内的应用直接运行在宿主机内容,容器是没有自己内核的也没用虚拟我们的硬件,所有就轻便了
  • 每个容器间是互相隔离的,每个容器内都有一个属于自己的文件系统,互不影响

DevOps(开发、运维)
应用更快速的交付和部署

传统:一堆帮助文档,安装程序
Docker:打包镜像发布测试,一键运行

更便捷的升级和扩缩容

使用了Docker之后,我们部署就像搭积木一样
项目打包为一个镜像

更简单的系统运维

在容器化之后,我们的开发,测试环境都是高度一致

更高效的计算机资源利用

Docker是内核级别的虚拟机化,可以在一个物理机行运行很多的容器实例,服务器的性能可以达到极致

Docker run 运行流程图

在这里插入图片描述

Docker底层原理

Docker是怎么工作的?
Docker是一个Client和Server结构的系统
Docker的守护进程运行在主机上,通过Socket从客户端访问
DockerServer 接收到Docker-Client的指令,就会执行这个命令

在这里插入图片描述

Docker为什么比VM(虚拟机)快?

  • Docker有比虚拟机更少的抽象层
  • Docker利用的是宿主机的内核,VM需要Guest OS

在这里插入图片描述
所以说,新建一个容器的时候,Docker不需要像VM一样重新加载一个操作系统内核,避免引导,虚拟机是加载Guest OS,是分钟级别的,而Docker是利用宿主机的操作系统,省略了这个复杂的过程是秒级别

看完这篇文章和实践操作之后,对上面的问答题是否已经有了清楚的了解了和认识了呢?

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐