开发者学堂课程【深入解析 Docker 容器化技术:Docker 介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/659/detail/10928
Docker 介绍
内容介绍
一、 介绍 dokcer
二、 Container 与 vm 区别
一、介绍 docker
上一个章节讲了虚拟化,它作用是充分利用物理资源,所使用的产品 VMware workstation,这个过程当中其实还是存在一些问题,本地机器是 Win10 操作系统,并且在这个机器上可以安装软件的。安装 VMware workstation,安装好之后可以安装其他多种操作系统,但是这些所有的操作系统不一定能同时启动,因为每一个都是一个操作系统,操作系统在运行的时候需要消耗系统资源的,如果本地机器配置不够高,那么肯定是不能同时运行的。
存在一个问题,这台虚拟机虽然能够资源的充分利用,但是不能最大化的利用资源。现在希望这台 win10的机器,能够运行十个二十个这样的操作系统。针对这个场景,现在企业里流行的解决方案是就是今天所学习的 Docker(虚拟化容器),在这个里面其实有两个概念一个是虚拟化另一个是容器,如何去理解容器这两个字。简单举个例子,比如正在运行的 Win10 OS就是一个容器,在容器当中部署、安装所需要的软件,docker 虚拟化容器与架构中操作层的虚拟化是类似的。
把图中部分认为是三个容器,在这个过程当中可以虚拟出多种容器,数量可以有十几个甚至上百个,并且这些容器可以同时运行。在这个过程当中 docker 所占用的系统资源极少。举一个生活场景中的例子,假设你是一位开发商,现在拥有一块地,这块地的大小是固定的,可以盖多种楼房,可以建别墅、商品房。不管是哪种,占地面积是固定的,所提供的硬件资源是固定的。不论是哪种,最终需求是出租出去,来赚取更多的钱财。就会选择盖商品房,占地面积固定的。这里的商品房就相当于虚拟机,但是盖商品房并不是最佳的方案。如果想住更多的人,隔断可以让居住的人更多,就可以赚到更多的钱财,相同的资源,赚更多的钱。而这里的隔断就相当于 docker 容器。通过这个例子很形象的让大家理解 docker 做的事情。
二、Container 与 vm 区别
物理机:
虚拟机:
但是不是最终的方案
容器:最大化的利用资源
通过上面这三张抽象图,我们大概可以通过类比概括出:容器虚拟化的是操作系统而不是硬件, 容器之间是共享同一套操作系统资源的。虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统。
容器和虚拟机具有相似的资源隔离和分配优势,但功能有所不同,因为容器虚拟化的是操作系统,而不是硬件因此容器更容易移植,效率也更高。