Docker公司去年底针对 Amazon ECS 推出了Docker for AWS的 公众测试版 :这是一种用于管理和编排Docker容器的AWS兼容服务。目前Docker for AWS已普遍具有可用性。
在公众测试版公告里,Docker公司提到了几项新的增强功能。 首先,现在所有容器日志都发送到AWS CloudWatch,以改进聚合、分析、报告和监控,从而减少使用SSH登录到单个主机的需要。其次,这项服务还配备了诊断工具,以便于提供支持。 此外,还有一个新选项允许选择更大范围的根卷,这意味着现在基于本地主机的SSD已具备可用性。目前已经有了关于 Docker for AWS的演示 。
InfoQ就Docker for AWS与Amazon ECS之间的比较采访了Docker公司,公司公关总监Suzanne Panoplos解释说:
Docker for AWS是由Docker公司开发并发行的。它发行的版本与常规Docker发行的版本同步,因此使用Docker for AWS可以让你随时获得最新最好的Docker版本。
Docker for AWS在启用了群模式的情况下设置了标准的Docker环境。这意味着用户无需额外的配置步骤,就可以使用Docker内置的安全且高性能编排器。 具有群模式功能的Docker可用于任何基础架构。而ECS使用自己的调度程序,仅适用于AWS环境。此外ECS与Docker所使用的工具不同:要使用ECS部署应用程序时,不能使用“docker”或“docker-compose”,而必须使用ECS CLI。ECS CLI与开源的Docker工具所支持的软件不同。
在撰写本文时, Amazon ECS已经可以支持Docker1.12.6版 ,而此时 Docker Engine的最新稳定版本 是1.13.0版。
尽管Docker for AWS是一种托管服务,但它通过SSH提供了完整的Docker CLI。 Amazon ECS可能需要付出 巨大努力 才能实施任何超越初级阶段的调度。为了解决这个缺点,Amazon最近推出了ECS的调度框架 Blox 。 Blox具有两个组件,一个守护进程调度器(在每个容器上执行一个任务)和一个集群状态服务(监视用于从ECS发出的CloudWatch事件的SQS队列),并通过REST API为调度器组件提供方便的当前状态。这为在集群中构建更复杂的调度功能奠定了基础。
但是,Docker不计划在Docker for AWS中添加对Blox的支持。根据Panoplos的说法,“Docker for AWS使用Docker内置的群模式编排和调度,并且是根据我们数百万用户的反馈和需求而开发的。”Docker不支持Blox,而是与Amazon合作解耦它的核心容器运行时—— containerd ,希望未来可以供Blox使用。
在发布GA版之前,公众测试版公告是对Docker之前公布的Docker for AWS的 私人测试版的跟进 ,集成了 AWS Elastic Load Balancing 、 EC2 Security Group 和 KeyPair 的安全功能。
查看英文原文: Docker for AWS Now Generally Available
感谢刘志勇对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们。