Docker(一)前言介绍

  • A+
所属分类:Docker

云计算平台介绍

  云计算是一种资源的服务模式,该模式可以实现随时随地、便捷按需地从可配置计算资源共享池中获取所需的资源(如网络、服务器、存储、应用及服务),资源能够快速供应并释,大大减少了资源管理工作开销。

  经典云计算架构包括IaaS(Infrastructure as a Service,基础设施即服务)、PaaS(Platform-as-a-Service:平台即服务)、SaaS(Software as a Service,软件即服务)三层服务。下面是对这三种服务的介绍:

  • IaaS层为基础设施运维人员服务

  提供计算、存储、网络及其他基础资源,云平台使用者可以在上面部署和运行包括操作系统和应用程序在内的任意软件,无需再为基础设施的管理而分心。

  • PaaS层为应用开发人员服务

  提供支撑应用运行所需的软件运行时环境、相关工具与服务,如数据库服务、日志服务、监控服务等,让应用开发者可以专注于核心业务的开发。

  • SasS层为一般用户服务

  提供了一套完整可用的软件系统,让一般用户无需关注技术细节,只需通过浏览器、应用客户端等方式就能使用部署在云上的应用服务。

  IaaS的发展主要以虚拟机为最小粒度的资源调度单位,出现了资源利用率低、调度分发缓慢、软件堆栈环境不统一等一系列问题。PaaS在IaaS基础上发展而来,众多PaaS已经意识到可以利用容器技术解决资源利用率问题,但是PaaS通常在应用架构选择、支持的软件环境服务方面有较大的限制,这带来了应用与平台无法解耦、应用运行时环境局限性强、运维人员控制力下降的问题。

Docker介绍

  Docker是以Docker容器来资源分割和调度的基本单位,封装整个软件运行时的环境,为开发者和系统管理员设计,用于构建、发布和运行分布式应用的平台。它是一个跨平台、可移植并且简单易用的容器解决方案。Docker的源代码托管在GitHub上,基于Go语言开发并遵从Apache 2.0协议.Docker可在容器内容快速自动化地部署应用,并通过操作系统内核技术(namespaces、cgroups等)为容器提供资源隔离与安全保障。Docker是Docker.inc公司开源的一个基于LXC技术之上构建的Container容器引擎。

Docker优点

  • 持续部署与测试

  Docker消除了线上线下的环境差异,保证了应用生命周期的环境一致性和标准化。开发人员使用镜像实现标准开发环境的构建,开发完成后通过封装着完整环境和应用的镜像进行迁移,大大简化了持续集成、测试和发布的过程。

  • 跨云平台支持

  Docker的最大好处之一就是其适配性、越来越多的云平台都支持Docker。目前支持Docker的IaaS云平台包括但不限于亚马逊云平台(AWS)、Google云平台(GCP)、微软云平台(Azure)、OpenStack等,还包括Chef、Puppet、Ansible等配置管理工具。

  • 环境标准化和版本控制

  可以使用Git等工具对Docker镜像进行版本控制,一旦出现故障可以快速回滚。相比以前的虚拟机镜像、Docker压缩和备份速度更快,镜像启动也像启动一个普通进程一样快速。

  • 高资源利用率与隔离

  Docker容器没有管理程序的额外开销,与底层共享操作系统,性能更加优良,系统负载更低,在同等条件下可以运行更多的应用实例,可以更充分地利用系统资源。同时,Docker拥有不错的资源隔离与限制能力,可以精确地对应用分配CPU、内存等资源,保证了应用间不会相互影响。

  • 容器跨平台与镜像

  Linux容器虽然早在Linux
2.6版本内核已经存在,但是缺少容器的跨平台性,难以推广。Docker在原有的Linux容器的基础上进行大胆革新,为容器设定了一整套标准化的配置方法,将应用及其依赖的运行环境打包成镜像,真正实现了“构建一次,到处运行”的理念,大大提高了容器的跨平台性。

  • 易于理解且易用

  一个开发者可以在15分钟之内入门Docker并进行安装和部署。

  • 应用镜像仓库

  Docker官方构建了一个镜像仓库,组织和管理形式类似于GitHub,上面已经积累了成千上万的镜像。因为Docker的跨平台的适配性,相当于为用户提供了一个非常有用的应用商店,所有人都可以自由下载微服务组件。

YaLei

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: