为什么你需要学docker

上传人:子 文档编号:46790477 上传时间:2018-06-28 格式:PDF 页数:24 大小:1.24MB
返回 下载 相关 举报
为什么你需要学docker_第1页
第1页 / 共24页
为什么你需要学docker_第2页
第2页 / 共24页
为什么你需要学docker_第3页
第3页 / 共24页
为什么你需要学docker_第4页
第4页 / 共24页
为什么你需要学docker_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《为什么你需要学docker》由会员分享,可在线阅读,更多相关《为什么你需要学docker(24页珍藏版)》请在金锄头文库上搜索。

1、从Docker到Kubernetes之技术实战 讲师 Leader-us DATAGURU专业数据分析社区 从Docker到Kubernetes 第1周 从Docker到Kubernetes之技术实战 讲师 Leader-us DATAGURU专业数据分析社区 为什么你要学Docker Docker的历史与现状分析 Docker的技术原理介绍 Docker的基本概念 Docker学习必备基础技能 从Docker到Kubernetes之技术实战 讲师 Leader-us DATAGURU专业数据分析社区 Docker的历史与现状分析 曾经我们都在做一个称之为PAAS的平台 从Docker到Kub

2、ernetes之技术实战 讲师 Leader-us DATAGURU专业数据分析社区 Docker的历史与现状分析 PAAS平台的范围和内容 1.1.确定产品定位和需求,确定首次迭代的范围。确定产品定位和需求,确定首次迭代的范围。 2.2.制作界面原型。制作界面原型。 3.3.技术选型,然后根据技术选型为每个开发者搭建开发环境和技术栈,技术选型,然后根据技术选型为每个开发者搭建开发环境和技术栈, 例如例如 Java Java 环境、环境、Python Python 环境、环境、Ruby Ruby 环境、数据库、中间件等等。环境、数据库、中间件等等。 4.4.构建基础技术框架和服务,包括日志、存

3、储、消息、缓存、搜索、数构建基础技术框架和服务,包括日志、存储、消息、缓存、搜索、数 据源、集群扩展等等。据源、集群扩展等等。 5.5.模拟用户容量,构建测试环境。模拟用户容量,构建测试环境。 6.6.开始编写真正的业务代码,实现产品功能。开始编写真正的业务代码,实现产品功能。 7.7.迭代开发迭代开发/ /测试,生生不息,周而复始,直到头发掉光为止测试,生生不息,周而复始,直到头发掉光为止 PaaSPaaS平台平台 的范畴的范畴 从Docker到Kubernetes之技术实战 讲师 Leader-us DATAGURU专业数据分析社区 Docker的历史与现状分析 老一代的PAAS平台的局限

4、性和困境 主要提供应用的部署和托管 针对应用开发者 仅支持特定的IaaS基础技术 支持单种开发语言和框架 支持特定的服务,比如自定义的数据存储APIs 没有很好的解决常用中间件的部署问题 难以解决应用和资源的隔离问题 从Docker到Kubernetes之技术实战 讲师 Leader-us DATAGURU专业数据分析社区 Docker的历史与现状分析 新一代的PAAS平台 新一代的云应用平台技术则实现全方位的应用生命周期管理,关注开放性、应用的可移植性和云间相互操作性,新一代的云应用平台技术则实现全方位的应用生命周期管理,关注开放性、应用的可移植性和云间相互操作性, 其代表者包括其代表者包括

5、Cloud Foundry, OpenShift, Docker, Heroku, MoPaaS等等PaaS技术或服务,技术或服务,除了在第一代PaaS 技术对用户在实现应用交付的加速所提供的功能外,具备以下大多数特征: 多语言和框架:多语言和框架:支持多语言和框架以及语言框架的扩展机制 多服务:多服务:开放的核心服务以及服务的扩展机制 多云和多多云和多IaaS技术:技术:支持多种IaaS技术和多云的部署,包括公有云和私有云 Docker也被称之为第三代Paas平台 Docker究竟是什么? dotCloud 不仅支持诸如 PHP、MySql 等传统技术框架,还包括 Node.js、Mongo

6、DB 等新兴技术。基于 dotCloud 提供 的开发工具和技术框架,你可以直接使用 dotCloud 的 SDK 编写代码和构建业务服务,并在联网的时候把这些代码并在联网的时候把这些代码 推送到云端,实现自动部署和测试。推送到云端,实现自动部署和测试。 有人说Docker公司是世界上最贵的卖T恤的公司 从Docker到Kubernetes之技术实战 讲师 Leader-us DATAGURU专业数据分析社区 Docker的历史与现状分析 Docker的诞生和幕后的公司 2010年,几个大胡子年轻人在旧金山成立了一家做 PaaS 平台的公司, 起名为dotCloud,dotCloud主要是基于

7、PaaS平台为开发者 或开发商提供技术服务。 Docker于2013.03.27 正式作为public项目发布 DotCloud公司2013年10月改名为Docker Inc,转型专注于Docker引擎和Docker生态系统。 落腮胡、皮夹克和 摩托车,是Docker 的灵魂人物CTO Solomon Hykes的 标准记号,外型看 起来像是推动社会 运动的老大。 2014.1 被BLACK DUCK 评选为2013年10大开源新项目“TOP 10 OPEN SOURCE ROOKIE OF THE YEAR” 2014.9获取4000万美元融资,此时已经累计融资6600万美元 2015.4月

8、获取了9500万美元融资, 已经确立了在第三代PaaS市场的主导地位。 2015.6月DockerCon 2015大会上,Linux 基金会与行业巨头联手打造开放容器技术项目Open Container Project 从Docker到Kubernetes之技术实战 讲师 Leader-us DATAGURU专业数据分析社区 Docker的历史与现状分析 Docker已经收购了一系列创业公司,包括KiteMatic、Koality和Socketplane。完成新一轮投资后,Docker计划加 快产品推进计划,在本季度推出Docker Hub企业版,并且在接下来几个月在存储、网络和安全三个产品方

9、向发力。 国内,不仅腾讯、阿里、百度、Ucloud、青云等云计算服务提供商已经将Docker用到实践,还有数家Docker初 创企业在获得了天使投资后正在辛勤的开发,准备将产品尽快发布到市场上。 红帽在新的RHEL 7版本中增添了支持Docker的功能,IBM公开拥抱Docker和容器,亚马逊推出了EC2容器服 务,就连公认的竞争对手VMware也宣布支持Docker。 腾讯云计算公司对外宣布成为中国首家支持Docker Machine的云计算厂商,并将自身定位于Docker基础设施的服 务商,迈出构建Docker“航运”基础设施的第一步。同时,在支持Docker Machine前提下,腾讯云

10、也推出了常用 系统的标准版Docker镜像,以方便用户能够一键便捷创建容器。 Docker生态圈 从Docker到Kubernetes之技术实战 讲师 Leader-us DATAGURU专业数据分析社区 Docker的历史与现状分析 Docker生态圈,2014-2015发展 贡献者增长了183%; GitHub上关于Docker的项目增长了515%; Docker提供的工作机会增长了1720%; 使用Docker构建的应用程序增长了934%(Boot2Docker下载量增 加了1456%); 容器的下载量增加了18082%(这个是根据DockerHub上镜像下载 量来统计的)。 Docke

11、r Hub业务的进展:用户数量增长至24万,Repo增长至 15万,Pull的数量超过5亿次 从Docker到Kubernetes之技术实战 讲师 Leader-us DATAGURU专业数据分析社区 Docker的技术原理介绍 Docker就是虚拟化的一种轻量级替代技术。Docker的容器技术不依赖任何语言、框架或系统,可以将App变成一种 标准化的、可移植的、自管理的组件,并脱离服务器硬件在任何主流系统中开发、调试和运行 简单的说就是,在 Linux 系统上迅速创建一个容器(类似虚拟机)并在容器上部署和运行应用程序,并通过配置文件 可以轻松实现应用程序的自动化安装、部署和升级,非常方便。因

12、为使用了容器,所以可以很方便的把生产环境和开 发环境分开,互不影响,这是 docker 最普遍的一个玩法。 从Docker到Kubernetes之技术实战 讲师 Leader-us DATAGURU专业数据分析社区 Docker的技术原理介绍 Docker相关的核心技术 从Docker到Kubernetes之技术实战 讲师 Leader-us DATAGURU专业数据分析社区 Docker的技术原理介绍 Docker相关的核心技术之cgroups Linux系统中经常有个需求就是希望能限制某个或者某些进程的分配资源。于是就出现了cgroups的概念, cgroup就是controller gr

13、oup ,在这个group中,有分配好的特定比例的cpu时间,IO时间,可用内存大小等。 cgroups是将任意进程进行分组化管理的Linux内核功能。最初由google的工程师提出,后来被整合进Linux内 核中。 cgroups中的 重要概念是“子系统”,也就是资源控制器,每种子系统就是一个资源的分配器,比如cpu子系 统是控制cpu时间分配的。首先挂载子系统,然后才有control group的。比如先挂载memory子系统,然后在 memory子系统中创建一个cgroup节点,在这个节点中,将需要控制的进程id写入,并且将控制的属性写入, 这就完成了内存的资源限制。 cgroups 被

14、被Linux内核支持,有得天独厚的性能优势,发展势头迅猛。在很多领域可以取代虚拟化技术分割资源。 cgroup默认有诸多资源组,可以限制几乎所有服务器上的资源:cpu mem iops,iobandwide,net,device acess等 从Docker到Kubernetes之技术实战 讲师 Leader-us DATAGURU专业数据分析社区 LXC是Linux containers的简称,是一种基于容器的操作系统层级的虚拟化技术。借助于namespace的隔离机制 和cgroup限额功能,LXC提供了一套统一的API和工具来建立和管理container。LXC跟其他操作系统层次的虚 拟

15、化技术相比,最大的优势在于LXC被整合进内核,不用单独为内核打补丁 LXC 旨在提供一个共享kernel的 OS 级虚拟化方法,在执行时不用重复加载Kernel, 且container的kernel与host 共享,因此可以大大加快container的 启动过程,并显著减少内存消耗,容器在提供隔离的同时,还通过共享这 些资源节省开销,这意味着容器比真正的虚拟化的开销要小得多。 在实际测试中,基于LXC的虚拟化方法的IO和 CPU性能几乎接近 baremetal 的性能。 虽然容器所使用的这种类型的隔离总的来说非常强大,然而是不是像运行在hypervisor上的虚拟机那么强壮仍具有 争议性。如果

16、内核停止,那么所有的容器就会停止运行。 性能方面:LXCKVMXEN 内存利用率:LXCKVMXEN 隔离程度: XENKVMLXC cgroup Docker相关的核心技术之LXC Docker的技术原理介绍 从Docker到Kubernetes之技术实战 讲师 Leader-us DATAGURU专业数据分析社区 Docker的技术原理介绍 Docker相关的核心技术之AUFS 什么是AUFS? AuFS是一个能透明覆盖一或多个现有文件系统的层状文件系统。 支持将不同目录挂载到同一 个虚拟文件系统下,可以把不同的目录联合在一起,组成一个单一的目录。这种是一种虚拟的文件系统,文 件系统不用格式化,直接挂载即可。 Docker一直在用AuFS作为容器的文件系统。当一个进程需要修改一个文件时,AuFS创建该文件的一个副本。 AuFS可以把多层合并成文件系

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号