谷歌对当今最热门的云计算技术Docker给予了相当大的支持。在谷歌看来,Docker也是一个足以改变人们创建软件方式的东西,它能让任何程序开发人员更轻松地、即刻地体会到海量计算性能的优势。
“集装箱化思维”被运用在软件“运输”上,Docker可以看作是用代码编写出来的国际集装箱,它可以把任何应用及相关依赖项打包成一个轻量、可移植、自包涵式的容器。
据悉,谷歌工程师Eric Brewer明天将在旧金山的会议上发表主旨演讲。届时谷歌将宣布自主融合Docker技术的云计算服务Google App Engine和Google Compute Engine。这是谷歌撼动亚马逊在云技术市场上王者地位的新举措。
首先,尽管有许多机构激动地无视掉我们“不要在生产环境中运行 Docker ”的警告,其他人则在部署生产工作前耐心等待我们产品成熟。“1.0”的发布表明在质量、功能完整、后台兼容和 API 稳定性方面已经提升了一个级别,达到企业 IT 标准。此外,对于将 Docker 应用于生产,我们提供了一个全面的解决方案,包括完整的文档、培训计划、专业服务、以及企业支持。
其次,这一里程碑意味着 Docker 自身已经转变为一个分发应用的开放平台。特别是社区中使用 Docker 的用户案例包罗万象,而应用在其生命周期的每个阶段都用到 Docker 也很好地证明这一点。从今以后,你们会听到我们谈论作为平台的 Docker ,它由 Docker 引擎、容器运行时间、打包工具,以及 Docker Hub 组成。 Docker Hub是一个基于云的服务,可用于协作、内容和工作流的自动化。
最后,“1.0”的称号以及对平台身份的认同为多个方面的持续创新提供了契机。我们不想抢了 Solomon 的风头,请大家明天早上观看 Solomon 的主题演讲,从而第一时间了解这个新平台服务和兼容性的早期版本。
一、为开发者而生:
为 Docker build 引入一个新命令:COPY ,可以从 build 文本中复制文档和文件夹。 对 ADD 命令和容量进行改进,在构建 image 时保持对文件的所有权和权限。
二、系统管理员的运维利器
Docker 引擎现在能够暂停/继续运行容器,这就能让用户拓展 容器正在使用的 CPU 周期,从而能在系统上更好地安排资源。
我们也更新了设备访问的安全页面和容器的兼容性。
对于存储和文件系统,我们改进了 Device Mapper ,增加了 XFS 支持,能够使用物理设备,同时改进了移除容器的速度。
最后,我们高兴地宣布 Docker 引擎已经得到 IANA 官方的端口预订。端口 2375 将被用于 HTTP ,2376 将用于 HTTPS 用来访问 Docker API 。
java是理论上的“一次编写,到处运行”,而且还有性能开销(有虚拟层)。docker则是真正希望做到"到处运行",直接跑在本地系统上,底层是系统内核级的LXC。因为docker是一个容器,它是把你的整个应用程序封装打包进去,然后往各处分发,就像货运码头的集装箱那样。你可以把它想象成一个超级的unix chroot。在linux下chroot环境编译软件的人应该比较清楚,性能几乎没什么损失。
有网友认为:“谷歌和Docker对应用如何构建志同道合,他们之间的结合就是天作之合。”Docker日益火爆已颠覆人们构建软件思维方式,今后必将引导一个新的云计算世界,所有云计算服务选手将同台竞争。
三、Docker 简介
Docker 是一个开源的应用容器引擎,可以自动化地部署应用到可移植的的容器中,这些容器独立于硬件、语言、框架、打包系统。一个标准的Docker容器包含一个软件组件及其所有的依赖 ——二进制文件,库,配置文件,脚本等等。Docker扩展了LXC,使用高层的API,提供轻量虚拟化解决方案来实现进程间隔离。可以运行在任何支持 cgroups跟AUFS 的 64位Linux内核上。
同时,Docker基于Go语言开发,代码托管在Github上,并遵循Apache 2.0开源协议。Docker容器可以封装任何有效负载,几乎可以在任何服务器之间进行一致性运行。换句话说,开发者构建的应用只需一次构建即可多平台运行。运营人员只需配置他们的服务,即可运行所有的应用。
四、Docker的常用案例包括:
(1)自动打包和部署应用 (2)创建轻量、私有的PaaS环境 (3)自动化测试和持续集成/部署 (4)部署并扩展Web应用、数据库和后端服务器
|