docker技术介绍(_一)

上传人:l**** 文档编号:125340989 上传时间:2020-03-17 格式:PPT 页数:87 大小:1.99MB
返回 下载 相关 举报
docker技术介绍(_一)_第1页
第1页 / 共87页
docker技术介绍(_一)_第2页
第2页 / 共87页
docker技术介绍(_一)_第3页
第3页 / 共87页
docker技术介绍(_一)_第4页
第4页 / 共87页
docker技术介绍(_一)_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《docker技术介绍(_一)》由会员分享,可在线阅读,更多相关《docker技术介绍(_一)(87页珍藏版)》请在金锄头文库上搜索。

1、DockerDocker 技术介绍 一 技术介绍 一 信息中心运行维护室毕宏刚信息中心运行维护室毕宏刚 一 Docker案例介绍 二 Docker概念介绍 三 Docker与虚拟机对比 四 Docker应用场景 五 Docker的实用性 六 Docker基本原理 七 Docker基本命令介绍 八 Docker调度工具介绍 九 Docker最佳实践 一 Docker案例介绍 眼见为实 2048游戏软件的搭建 ubuntu ubuntu dockerfile sudo docker run d p 8016 80 two eight F85f1d378c3aa3d50a4ae4643ef149f7

2、d6650aa880cf4f3183733427c19333af ubuntu ubuntu dockerfile sudo docker run d p 8017 80 two eight ubuntu ubuntu dockerfile sudo docker run d p 8018 80 two eight ubuntu ubuntu dockerfile sudo docker run d p 8019 80 two eight 操作命令 实验结果 二 Docker概念介绍 什么是容器 什么是Docker 随着整个云计算产业的演进 继IaaS和SaaS成为风口和出现 爆发式增长后 接

3、下来PaaS即将迎来风口 在2015年 多家云创业公司将产品定位转向了场景化PaaS 诸如 即时通讯PaaS云 智能语音PaaS云 物联网PaaS云 存储PaaS云 基于Docker的PaaS平台 1960年之前的货货运情况 通过集装箱的运货方式 1960年之后 基于Docker的软件开发 运维 Docker基于容器技术的轻量级虚拟化解决方案 Docker是容器引擎 把Linux的cgroup namespace等容器底 层技术进行封装抽象 为用户提供了创建和管理容器的便捷 界面 包括命令行和API Docker 是一个开源项目 诞生于 2013 年初 基于 Google 公司推出的 Go 语

4、言实现 微软 红帽Linux IBM Oracle等主流IT厂商已经在自己的 产品里增加对Docker的支持 Google 每周启动超过20亿个容器进行业务服务 于上个世纪 90年代已经开始大规模使用容器技术 物理容器Docker 内容无关 性 相同的集装箱可以容纳几乎任何 类型的货物 可以封装任何有效负载及其依赖 项 硬件无关 性 同一标准的容器允许把货物从船 上运输到火车 卡车上 直到运 输到仓库 整个过程无需整理货 物或打开容器 使用操作系统基元 例如 LXC 几乎可以在任何平台上运行 虚拟机 裸机 OpenStack 公共 IaaS等 并且无需修改 内容隔离 和交互 无需担心铁压在香蕉

5、上 容器可 以堆积运输 资源 网络和内容隔离 避免依 赖 Docker主要功能特征 物理容器Docker 自动化 标准的接口使其易于实现自动化 装卸 搬运等 运行 启动 停止 提交 搜索 等都有标准的操作 非常适合 devops CI CD 自动扩展 混 合云 高效 无需打开或修改 可以在起始两 地快速地移动 运输 轻量级 可以进行快速移动和操 作 职责分离 托运人担心盒子内部 承运人担 心盒子外部 开发人员担心代码 运营人员担 心基础设施 docker容器 软件运行的单元 例如tomcat mysql软件 阿里云平台 百度云平台 容器跨云平台迁移 容器介绍 Container 容器 技术其实

6、早在多年前就出现了 从2005年的 Solaris Containers到2008年LXC 0 1版本的推出 再到后来的 Google推出开源的容器管理工具lmctfy 也将近经历了10年的 发展 它仅仅只是一个虚拟化的技术 相比KVM XEM没有太多 的优势 直到2013年 Docker的出现 才代表着容器技术一个新的时代 的来临 从技术角度看 传统容器只解决了容器执行 run 问题 而 Docker定义了一套容器构建 build 分发 ship 执行 run 容器 Container 镜像 images 仓库 Repositories 执行 构建 分发 ClientDocker host1

7、 Registry 仓库 Docker run Docker push Docker pullDocker engine 容器镜像 Docker build Docker host2 Docker engine 镜像容器 三 Docker与虚拟机对比 虚拟机和Docker有什么区别 作为一种轻量级的虚拟化方式 Docker在运行应用上跟传统的虚 拟机方式相比具有显著优势 Docker容器很快 启动和停止可以在秒级实现 这相比传统的虚 拟机方式要快得多 Docker容器对系统资源需求很少 一台主机上可以同时运行数千 个Docker容器 Docker通过类似Git的操作来方便用户获取 分发和更新应

8、用镜像 指令简明 学习成本较低 Docker 轻量级虚拟化容器技术 Docker通过Dockerfile配置文件来支持灵活的自动化创建和 部署机制 提高工作效率 Docker容器除了运行其中的应用之外 基本不消耗额外的系 统资源 保证应用性能的同时 尽量减小系统开销 传统虚 拟机方式运行N个不同的应用就要启动N个虚拟机 每个虚拟 机需要单独分配独占的内存 磁盘等资源 而Docker只需 要启动N个隔离的容器 并将应用放到容器内即可 Docker 轻量级虚拟化容器技术 Docker虚拟机 启动速度秒级分钟级 复杂度基于内核的namespace技术 对现 有基础设施的侵入较少 部署复杂度较高 并且

9、很多基础 设施不兼容 执行性能在内核中实现 所以性能几乎与原 生一致 对比内核级实现 性能较差 可控性依赖简单 与进程无本质区别依赖复杂 并且存在跨部门问题 体积与业务代码发布版本大小相当 MB级别 GB级别 并发性可以启动几百几千个容器最多几十个虚拟机 资源利用率 高低 特点对比 以下的数据均是在IBM x3650 M4 服务器测得 其主要的硬件参数 是 1 2颗英特尔xeon E5 2655 处理器 主频2 4 3 0 GHz 每 颗处理器有8个核 因此总共有 16个核 2 256 GB RAM 在测试中是通过运算Linpack程 序来获得计算能力数据的 结果 如下图所示 性能对比 1 资

10、源隔离方面不如虚拟机 docker是利用cgroup实现资源限制的 只能限制资 源消耗的最大值 而不能隔绝其他程序占用自己的资源 2 安全性问题 docker目前并不能分辨具体执行指令的用户 只要一个用户拥有 执行docker的权限 那么他就可以对docker的容器进行所有操作 不管该容器是 否是由该用户创建 比如A和B都拥有执行docker的权限 由于docker的server端 并不会具体判断docker client是由哪个用户发起的 A可以删除B创建的容器 存在一定的安全风险 3 docker目前还在版本的快速更新中 细节功能调整比较大 一些核心模块依赖 于高版本内核 存在版本兼容问题

11、 Docker相对虚拟机不足之处 有些激进的言论声称Docker将是现有虚拟机技术的终结者 个 人觉得此言论有些浮夸了 Docker是面向应用的 其终极目标 是构建PAAS平台 而现有虚拟机主要目的是提供一个灵活的计 算资源池 是面向架构的 其终极目标是构建一个IAAS 或者 是SDDC Software Defined Data Center软件定义的数据中心 并且 两者相辅相成 Docker的老东家dotCloud的PAAS服务便 基于Amazon的AWS服务 因此 虚拟机是Docker的土壤 而 Docker则向用户展现了业务 结论 四 Docker应用场景 Docker怎么用 应用场景

12、 1 对应用进行自动打包和部署 2 创建轻量 私有的PAAS环境 3 自动化测试和持续整合与部署 4 部署和扩展Web应用 数据库和后端服务 对应用进行自动打包和部署 Automating the packaging and deployment of applications Docker对于应用依赖 封装完整 同一镜像 可重复的在测试 集 成 生产等环境部署 做到 一次构建 处处运行 适用于 持续集成 持续部署 流程 创建轻量 私有的PAAS环境 Creation of lightweight private PAAS environments 自动化测试和持续整合与部署 Automate

13、d testing and continuous integration deployment 搭建开发环境 安装web容器 安装数据库 分配网络 开发测试 编码 测试 安装web容器 安装数据库 分配网络 上线生产搭建开发环境 安装web容器 安装数据库 分配网络 SAP测试环境 安装SAP系统 测试 安装SAP系统 生产 SAP生产环境SAP开发环境 安装SAP系统 开发 共享NFS文件系统 版本管理 传输传输 传统型软件开发 测试 上线过程 1 资源利用效率低 2 单物理机多应用无法有效隔离 进程空间 cpu资源 磁盘 3 运维部署不便 4 测试 版本管理复杂 5 迁移成本高 6 传统虚

14、拟机 空间占用大 启动慢 管理复杂 传统型软件开发 测试 上线过程不足之处 Docker仓库群 开发 本地 获取镜像 开发测试 提交仓库 测试机 公用 获取镜像 验证测试 生产机集群 获取镜像 部署 备份 以Docker为单位的开发部署流程设计 以docker为单位的开发测试部署流程 简化了环境搭建的步 骤 提高了资源利用效率和开发测试部署的速度 降低了迁移 的成本 更快速的交付和部署 使用Docker 开发人员可以使用镜像 来快速构建一套标准的开发环境 开发完成之后 测试和运 维人员可以直接使用相同环境来部署代码 Docker可以快速创建和删除容器 实现快速迭代 大量节约 开发 测试 部署的

15、时间 并且 各个步骤都有明确的配置 和操作 整个过程全程可见 使团队更容易理解应用的创建 和工作过程 部署和扩展Web应用 数据库和后端服务 Deploying and scaling web apps databases and backend services 案例 微博红包 羊年春晚Docker集群成功的为1 02亿用户刷微博 抢红包提供 了可靠的服务 微博平台Docker集群的规模情况 Docker集群规模达到1000 节点 QPS 每秒查询率 峰值达到800K s 4个9的服务SLA达到150ms 共覆盖23个核心服务 春晚共调度近300节点完成动态扩容 由此可见 Docker的目的

16、是让用户用简单的 集装箱 方式 快速的部署大量的 标准化的应用运行环境 所以 只要是这 类的需求 Docker都比较适合 结论 五 Docker的实用性 成熟度 适用性 Docker能在企业里面用么 1 稳定性 2 可管理性 3 业务高可用和可恢复能力 从稳定性上看 Docker在2015年6月10日发布了1 0版本 把该版本称为一 个 里程碑 并声称 1 0的发布表明在质量 功能完整 后台兼容和 API 稳定性方面已经提升了一个级别 达到企业 IT 标准 但在此之前 dotCloud一直警告用户 不要在生产环境中运行 Docker 在RHEL 7中 Docker的版本为0 11 1 这是1 0发布前的RC版本 虽然红 帽会将之后的Docker更新和补丁修复更新到0 11版本中 目前Docker的版 本是1 9版本 但是 企业客户在使用这样一个较新的软件版本时 仍需承担不小的稳定 性风险的 而在很多企业客户的软件版本选择规范上 都有 需采用已经 发布超过半年的稳定版本 的要求 稳定性 可管理性方面 企业的IT运维人员需要所使用的软件具有很好的 可视化管理能力 并且具有可行的监控手段 D

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

最新文档


当前位置:首页 > 办公文档 > 工作范文

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