Docker公司去年底針對Amazon ECS推出了Docker for AWS的公眾測試版:這是一種用于管理和編排Docker容器的AWS兼容服務(wù)。目前Docker for AWS已普遍具有可用性。
在公眾測試版公告里,Docker公司提到了幾項新的增強(qiáng)功能。 首先,現(xiàn)在所有容器日志都發(fā)送到AWS CloudWatch,以改進(jìn)聚合、分析、報告和監(jiān)控,從而減少使用SSH登錄到單個主機(jī)的需要。其次,這項服務(wù)還配備了診斷工具,以便于提供支持。 此外,還有一個新選項允許選擇更大范圍的根卷,這意味著現(xiàn)在基于本地主機(jī)的SSD已具備可用性。目前已經(jīng)有了關(guān)于Docker for AWS的演示。
InfoQ就Docker for AWS與Amazon ECS之間的比較采訪了Docker公司,公司公關(guān)總監(jiān)Suzanne Panoplos解釋說:
Docker for AWS是由Docker公司開發(fā)并發(fā)行的。它發(fā)行的版本與常規(guī)Docker發(fā)行的版本同步,因此使用Docker for AWS可以讓你隨時獲得最新最好的Docker版本。
Docker for AWS在啟用了群模式的情況下設(shè)置了標(biāo)準(zhǔn)的Docker環(huán)境。這意味著用戶無需額外的配置步驟,就可以使用Docker內(nèi)置的安全且高性能編排器。 具有群模式功能的Docker可用于任何基礎(chǔ)架構(gòu)。而ECS使用自己的調(diào)度程序,僅適用于AWS環(huán)境。此外ECS與Docker所使用的工具不同:要使用ECS部署應(yīng)用程序時,不能使用“docker”或“docker-compose”,而必須使用ECS CLI。ECS CLI與開源的Docker工具所支持的軟件不同。
在撰寫本文時,Amazon ECS已經(jīng)可以支持Docker1.12.6版,而此時Docker Engine的最新穩(wěn)定版本是1.13.0版。
盡管Docker for AWS是一種托管服務(wù),但它通過SSH提供了完整的Docker CLI。 Amazon ECS可能需要付出巨大努力才能實施任何超越初級階段的調(diào)度。為了解決這個缺點,Amazon最近推出了ECS的調(diào)度框架Blox。 Blox具有兩個組件,一個守護(hù)進(jìn)程調(diào)度器(在每個容器上執(zhí)行一個任務(wù))和一個集群狀態(tài)服務(wù)(監(jiān)視用于從ECS發(fā)出的CloudWatch事件的SQS隊列),并通過REST API為調(diào)度器組件提供方便的當(dāng)前狀態(tài)。這為在集群中構(gòu)建更復(fù)雜的調(diào)度功能奠定了基礎(chǔ)。
但是,Docker不計劃在Docker for AWS中添加對Blox的支持。根據(jù)Panoplos的說法,“Docker for AWS使用Docker內(nèi)置的群模式編排和調(diào)度,并且是根據(jù)我們數(shù)百萬用戶的反饋和需求而開發(fā)的。”Docker不支持Blox,而是與Amazon合作解耦它的核心容器運行時——containerd,希望未來可以供Blox使用。
在發(fā)布GA版之前,公眾測試版公告是對Docker之前公布的Docker for AWS的私人測試版的跟進(jìn),集成了AWS Elastic Load Balancing、EC2 Security Group和KeyPair的安全功能。
查看英文原文:Docker for AWS Now Generally Available