ws2016-Docker容器·科普

发布讲师:李老师

发布时间:2017年12月30日

浏览量:5933(次)

简介:云计算时代我们拼什么?当然是虚拟化技术哪方强。 虚拟化通过硬件模拟或操作系统实现,近年来又出现了一个新玩家 —— 容器虚拟化。

简单来说,我们可以把Docker容器理解为一种沙盒。每个容器内运行一个应用,不同的容器相互隔离,并且每个容器之间还可以建立通信机制。容器的创建和停止都十分快速,容器自身对资源的需求也十分有限,远远低于虚拟机。

举个例子,假设用户使用Linux+Apache+MySql组合来运维一个网站,按照传统的做法,需要先安装Linux,然后是Apache,再然后是MySql,还要对它们进行配置,以及验证是否工作正常,如果应用再变多,事情将会变得更加难以处理。服务器一旦迁移(从一个云到另一个云),极大可能需要重新部署和调试。

而容器提供更快捷方便的方式,通过容器来打包应用,迁移的话只需要在新的服务器启动需要的容器即可,不仅节省了时间,还提高了效率。


Docker入门三大组件: 镜像、容器、仓库的概念。

1. Docker镜像
Docker镜像类似于虚拟机镜像,可以将它理解为一个面向Docker引擎的只读模板,保护了文件系统。

一个镜像可以只包含一个完整的Linux操作系统环境,可以把它称为一个Linux系统镜像。镜像也可以安装某一个应用程序,可以把它称为某一个应用镜像。

使用者可以从网上下载一个已经做好的应用镜像,通过简单的命令就可以直接使用。

2. Docker Container
容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,而这些容器都是相互隔离、互不可见的。

镜像自身是只读的,容器从镜像启动的时候,Docker会在镜像的最上层创建一个可写层,镜像本身将保持不变。

3. Docker 仓库
Docker仓库类似于代码仓库,是Docker集中存放镜像文件的场所。

目前,最大的公开仓库是Docker Hub:https://hub.docker.com/ 。网站上存放了数量庞大的镜像供用户下载。


为Docker打call的四个理由

从上面我们已经大概了解到了Docker的好处,下面为大家详细讲述为何要替Docker疯狂打call的四大理由。

1. 更快速的交付和部署。利用容器技术,开发人员可以使用镜像来快速构建一套标准的开发环境;然后可以快速创建和删除容器,实现快速迭代,大量节约开发、测试、部署的时间。
2. 更高效的利用资源。容器是轻量级的虚拟化,可以实现更高的性能,同时对资源的额外需求很低,一些云厂商CPU过卖比可以达到1:25,而虚拟化通常只有1:4或1:8。
3. 更轻松的迁移和扩展。容器可以几乎在任意平台上运行,包括物理机、虚拟机、公有云、私有云、服务器等。
4. 更简单的更新管理。使用Dockerfile, 只需小小的配置修改,就可以替代以往大量的更新工作。