Docker简介
1、Docker概念
Docker是PAAS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵循Apache2.0协议开源。
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。说明:
云计算:可以让开发人员和 IT 部门可以全身心投入最有价值的工作,避免采购、维护、容量规划等无价值的工作分散精力。目前云计算已经拥有了几种不同的模型和部署策略,以满足不同用户的特定需求。每种类型的云服务和部署方法都提供了不同级别的控制力、灵活性和管理功能。
云计算的模型主要有三种:基础设施即服务、平台即服务和软件即服务,每种模型代表着云计算堆栈的一个独特部分。
基础设施即服务 (IaaS):
基础设施即服务包含云 IT 的基本构建块,通常提供对联网功能、计算机(虚拟或专用硬件)以及数据存储空间的访问。基础设施即服务提供最高等级的灵活性和对 IT 资源的管理控制。
平台即服务 (PaaS):
平台即服务把应用服务的运行和开发环境作为一种服务提供的商业模式。平台即服务消除了组织对底层基础设施(一般是硬件和操作系统)的管理需要,让开发人员将更多精力放在应用程序的部署和管理上面,不用操心资源购置、容量规划、软件维护、补丁安装或与应用程序运行有关的任何无差别的繁重工作。
软件即服务 (SaaS):
软件即服务提供了一种完善的产品,其运行和管理皆由服务提供商负责。人们通常所说的软件即服务指的是终端用户应用程序。使用 SaaS 产品时,服务的维护和底层基础设施的管理都不需购买者操心,购买者只需要考虑怎样使用 SaaS 软件。SaaS 的常见应用是基于 Web 的电子邮件,在这种应用场景中,购买者可以收发电子邮件而不用管理电子邮件产品的功能添加,也不需要维护电子邮件程序运行所在的服务器和操作系统。
传统应用构建方式与云计算:
Docker被称为第三代PAAS产品。
LXC技术
即Linux Container 是一种内核虚拟化技术,可提供轻量级的虚拟化,用于隔离进程和资源。
docker设想是交付运行环境如同海运,OS如同一个货轮,每一个在OS基础上的软件都如同一个集装箱,用户可以通过标准化手段自由组装运行环境, 同时集装箱的内容可以由用户自定义,也可以由专业人员制造。这样,交付一个软件,就是一系列标准化组件的集合的交付,如同乐高积木,用户只需要选择合适的积木组合, 并且在最顶端署上自己的名字(最后个标准化组件是用户的app)。这也就是基于docker的PaaS产品的原型。
2、Docker与传统虚拟化对比
左边:完全虚拟化、寄居架构,内核级别隔离,硬件资源消耗多;
右边:容器虚拟化,隔离性差,硬件资源消耗少。
3、Docker仓库及其组件
Docker仓库:https://hub.docker.com
Docker组件:Docker客户端、Docker Server、Docker镜像。
关系:
Docker仓库用于存放Docker镜像;
Docker镜像运行后变为Docker中的容器;
Docker运行中的容器停止后变为Docker镜像;
Docker Server接受用户通过Docker Client发出的请求,并按照相应的路由规则实现路由分发。
Docker组件间的协同方式:
