最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

DockerCon 2016 会议:发布内容的总结及主要收获

  • 2016-07-03
  • 本文字数:2821 字

    阅读完需:约 9 分钟

在美国西雅图举办的 DockerCon 2016 会议发布了最新的 Docker 引擎 1.12 测试版 。该测试版中通过集成 Docker Swarm 特性而提供了容器编排工具。此外,会议的其它发布内容还包括:公开发布了运行于Mac 和Windows 系统上的Docker ;开放了应用于AWS 和Azure 平台的Docker 封闭测试版本;发布了一种实验性的、称为 DAB(分布式应用包)的自由文件格式,该文件格式基于 JSON,用于构建多容器应用传送和部署中所需的所有应用组件;开放了新 Docker 仓库,及用于 Docker 数据中心 AWS 快速入门和 Azure 市场模板的封闭测试版本。

最新版 Docker,即 1.12 版,计划将于今年七月发布。该版本以在 Docker 引擎中集成了 Docker Swarm 为主要特性,并将容器编排工具授权为Docker 的内置命令。 Solomon Hykes ,Docker 公司的创建人及 CTO,指出 Docker 团队相信通过添加该附加功能,将会使 Docker 引擎成为编排工具的构建模块,形成“用于多容器分布式应用运行的自组织、自恢复的机器池”的引擎创建模式。

“当前编排工具的发展阶段类似于当年 Docker 出现前容器化的发展。此前对一个应用系统,你或者需要一个专家队伍去构建它,或仅依靠个人所能的单一平台由此导致系统选型完全受限。三年前,我们通过引入容器实现了对非专家可用的、而非锁定于专家的系统构建,这使得容器化技术成为主流。我们认为对于编排工具,当前我们正在做着同样的事情。”

Docker 1.12 的设计基于以下四个原则

  • 简单而强大 - 编排工具是当前分布式应用的核心部分;“考虑到它具有如此核心的地位,我们已经将它集成入 Docker 引擎的内核。”
  • 有弹性 - 机器可在任何时刻发生故障。当前系统应考虑到这样的故障可能经常出现,具有自适应能力以避免应用出现任何宕机。
  • 安全性 - 安全性应是系统的默认考量。系统应该去除诸如证书生成及 PKI 强制理解等影响强安全性的障碍。但是,高级用户应仍可以对认证签名和签发的各个方面进行控制和审计。
  • 特征可选和向后兼容 - 所有新特性都应是可选的,且选用这些特征不会引入额外的开销(内存,CPU)。

为支持编排工具,Docker 引擎远程API 中已添加了新的API,包括服务节点,并使用了与现有编排系统,诸如 Kubernetes CloudFoundry 等,相似的术语。 Ben Golub ,Docker 公司 CEO,指出该新特性将在所有可下载的 Docker 引擎 1.12 版中集成。但是为了维持 API 的向后兼容性,“Swarm 模式”默认是未启用的。

“Docker 引擎中的编排工具与其它现有模块匹配,但也允许用户继续使用任何基于 Docker 引擎所构建的第三方编排工具。”

Hykes 宣称已经公开运行于Mac 和Windows 系统上的 Docker 测试版,并在当前可下载的软件中已包括了 Docker 1.12 测试版。该测试版的目标在于提供“Mac 和 Windows 系统上的无缝开发环境”,其主要特征包括:更快速及可靠的原生开发环境。不同于 VirtualBox 虚拟机,Docker 使用了构建于各个系统平台中虚拟层; 容器内的调试和研发。Docker 改进了卷支持技术,可在文件发生了改变时自动告知 Docker 引擎,进而在容器内做相应更新;原生的网络支持,这使得运行于 Mac 和 Windows 系统上的 Docker 可有效支持 VPN。

此次会议还发布了应用于 AWS Azure 平台的 Docker 测试版,是一种“集成的、易于部署的环境,用于云环境中应用的构建、组装及发送”,它提供了在 AWS 和 Azure 中高效地安装、配置和维护 Docker 部署的方法。该测试版的目标包括:实现标准Docker 平台的部署,以确保应用可从团队中每个开发者的电脑中无缝地迁移到Docker 的模拟部署和生产环境中,而没有兼容性或者锁定的风险;与底层基础设施的深度集成,以确保Docker 可使用宿主机的原生功能环境,为管理员提供其所熟悉的操作界面;针对在公开云中部署的相关的硬件、操作系统及硬件设施,该测试版将确保提供可用的最新Docker 版本,并为Docker 版本的升级提供“切实可用的更新途径”。

在以上发布内容之外,Golub 还展示了一种仍处于试验阶段的基于JSON 的自由文件格式,称为 DAB(分布式应用包)。DAB 用于构建和打包发送在部署多容器应用中所需的所有应用组件。DAB 中包括运行应用所需所有服务的描述信息,以及所使用的 Docker 镜像、映射的端口及用于服务间关联的网络信息。

“在使得应用部署稳定且可重构之外,DAB 还避免了复杂应用构建中需要创建许多独立服务的繁琐操作。这使得 DAB 成为 Docker 1.12 版本所引入的、在服务概念之上的一种更实用的抽象。”

新 Docker 商店的封闭测试版已经开放,其目的在于提供一个对可信且可用的 Docker 化软件的交易市场。Docker 商店将包括免费的、开源的及商业的软件,其目标包括:向 ISV 提供可扩展的自服务系统,用以分发经认证的、“可直接用于企业级应用”的内容;提供一种验证软件质量的发布过程,该验证过程包括:安全性扫描、组件发现、开源许可使用情况及最优方法在镜像构建中的使用情况;从已验证可信的发布者处,为企业用户提供兼容的、具有商业支持的、打包为 Docker 镜像形式的软件;具有商店中软件的搜索、浏览及分类功能。

“我们 Docker 商店的设计目标,是围绕于将 Docker 用户和 Docker 生态系统的合作者联系在一起。”

会议最后还发布了用于 Docker 数据中心 AWS 快速入门和 Azure 市场模板,目的在于提供“具有产品就绪且高可用特点的、在数次点击内即可完成的 Docker 数据中心云部署”。其中的 AWS 快速入门使用了 CloudFormation 模板,而 Azure 市场模板使用了预先构建的模板,以达成“前所未有地易于在公有云基础设施中部署企业级容器即服务(CaaS)的Docker 环境”。 Docker 数据中心包括 Docker 通用控制面板 Docker 可信注册(DTR)、提供商业服务支持和订购以匹配企业应用 SLA 的 CS Docker 引擎

在本次 DockerCon 2016 会议中,Docker 运维的着力点得以明确。在一次媒体午餐会上,Golub 说近 25% 的会议参加者具有与运行或系统管理功能相关的职务。他提出,虽然容器的引入使得企业“运维工作或许会发生改变”,但是将应用部署单元标准化为容器还应避免处理各种应用打包格式所导致的复杂性,由此才可大大简化对已部署应用的理解、保全及管理工作。

Golub 指出,“在近 15 年内所编写的任何应用都可以被容器化”,但他也强调此事应慎重而为之。他分享了多个企业中所遇到的实际情况。这些企业从一开始就使用 Docker 将其应用整体容器化,进而按计划将这些容器分解为微服务模式应用,使得每个应用都运行于各自独立容器内。Golub 指出,Docker 的理念在于激励“增量变革”,因而企业在同时部署新的和旧的应用时,应该遵循“中间一致性”的原则。

要获取会议的更多信息,可访问 DockerCon 2016 会议的官方网站,或者访问 Docker 博客的“ dockercon ”主题中内容。

查看英文原文 DockerCon 2016: A Summary of Announcements and Key Takeaways


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-07-03 19:001580
用户头像

发布了 227 篇内容, 共 71.4 次阅读, 收获喜欢 27 次。

关注

评论

发布
暂无评论
发现更多内容

设备接入服务,看完这篇给你整的明明白白

华为云开发者联盟

物联网 IoT 华为云 设备接入服务 设备

百度爱番番实时CDP建设实践

百度Geek说

后端

“1天一朵云”,这是如何做到的?

华为云开发者联盟

数字化转型 软件架构 华为云 华为云Stack 全栈云平台

百度APP视频播放中的解码优化

百度Geek说

百度 性能优化 视频

Ceph核心概念解读

总想做点什么

分布式存储 Ceph 云存储 云计算,

探秘 k8e:极简 Kubernetes 发行版

张晓辉

Kubernetes 云原生

永中软件加入龙蜥社区,共建开源新生态

OpenAnolis小助手

Linux 开源 永中

【高并发】一文解密诡异并发问题的第一个幕后黑手——可见性问题

冰河

Java 并发编程 多线程 异步编程 精通高并发系列

在阿里,我们如何管理代码分支?

阿里云云效

阿里云 DevOps 云原生 研发 分支管理

【架构实战营】模块七:命题作业

wgl

「架构实战营」

不断突破,稳中求进——我的移动端跨平台开发技术回顾与展望| 社区征文

No Silver Bullet

跨平台 移动端 新春征文 2月月更

盘点冬奥会上的那些“黑科技”,你也可以掌握它!

博文视点Broadview

React Fragment介绍与使用

编程江湖

React

aPaaS将如何改变软件行业?

华为云开发者联盟

云计算 软件 软件开发 SaaS aPaaS

预约小程序开发笔记一:背景与技术方案的选型

CC同学

鸿蒙轻内核源码分析:文件系统LittleFS

华为云开发者联盟

鸿蒙 文件系统 Flash LittleFS LiteOS-M内核

从原理到操作,让你在 APISIX 中代理 Dubbo 服务更便捷

API7.ai 技术团队

微服务网关

如何让代码代码管理变的更安全更高效 | 云效开发篇

阿里云云效

阿里云 DevOps 云原生 代码管理 Codeup

推荐学java——Spring与web项目

逆锋起笔

Spring web idea web web项目 idea spring

java开发之Spring集成MyBatis知识分享

@零度

Java spring mybatis

前端开发之js栈内存和堆内存的区别

@零度

JAVA开发 堆内存 栈内存

面试突击20:进程和线程有什么区别?

王磊

Java11特性-效能翻倍的HttpClient

蜜糖的代码注释

Java 后端技术 2月月更

新思科技BSIMM评估为安全团队提供“他山之石”

InfoQ_434670063458

汽车 新思科技 软件定义汽车 软件安全 BSIMM评估

大数据开发之运维面试题汇总分享

@零度

面试题 大数据运维

分配任务的人才是团队的核心成员

panda

管理 限界上下文 任务分配

如何解决Python项目在VScode中跨文件夹导包问题

IT蜗壳-Tango

IT蜗壳教学 2月月更

Kubernetes HPA 基于 Prometheus 自定义指标的可控弹性伸缩

张晓辉

Kubernetes 弹性 HPA

腾讯员工怒怼加班文化事件:大厂的内卷,小厂有什么资格?

菜根老谭

阿里巴巴DevOps文化浅谈

阿里云云效

阿里巴巴 阿里云 DevOps 云原生 研发

Java 字符串常见的操作

编程江湖

DockerCon 2016会议:发布内容的总结及主要收获_DevOps & 平台工程_Daniel Bryant_InfoQ精选文章