阿里云ECS擁抱Docker
現在我們很高興地宣布您能使用阿里云ECS部署Docker容器應用了。您能在ECS上把應用打包成Docker鏡像、運行Docker容器,從我們提供的鏡像庫中快速下載官方鏡像,或者部署自己的私有鏡像庫,并和伙伴們分享和協作。
什么是Docker?
Docker是一個開源項目,誕生于2013年初,最初是dotCloud公司內部的一個業余項目。它基于Google公司推出的Go語言實現。
Docker以Linux容器LXC為基礎,實現輕量級的操作系統虛擬化解決方案。在LXC的基礎上Docker進行了進一步的封裝,讓用戶不需要去關心容器的管理,使得操作更為簡便。用戶操作Docker的容器就像操作一個快速輕量級的虛擬機一樣簡單。
為什么要使用Docker?
具體說來,Docker在如下幾個方面具有較大的優勢。
l 更快速的交付和部署
對開發和運維人員來說,最希望的就是一次創建或配置,可以在任意地方正常運行。
開發者可以使用一個標準的鏡像來構建一套開發容器,開發完成之后,運維人員可以直接使用這個容器來部署代碼。
Docker可以快速創建容器,快速迭代應用程序,并讓整個過程全程可見,使團隊中的其他成員更容易理解應用程序是如何創建和工作的。
Docker容器很輕很快,容器的啟動時間是秒級的,大量地節約開發、測試、部署的時間。
l 更輕松的遷移和擴展
Docker容器幾乎可以在任意的平臺上運行,包括物理機、虛擬機、公有云、個人電腦、服務器等。
這種兼容性可以讓用戶把一個應用程序從一個平臺直接遷移到另外一個。
l 更簡單的管理
使用Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分發和更新,從而實現自動化并且高效的管理。
ECS作為Docker Host的優勢?
l 安全:ECS對于容器來說是一個sandbox,把威脅都限制在實例級別。
l 簡單:運維只負責創建需要的實例交付給開發。
l 容錯:一旦實例環境出問題,只要回滾快照就行。
l 彈性伸縮:不論是垂直還是水平伸縮,對于實例來說都輕而易舉。
故障遷移:一旦實例發生故障,其上的容器會在線遷移到其他實例,更能保證應用無中斷。
阿里云ECS Docker生態如下圖所示:
該生態由以下幾部分組成:
l Docker:Docker核心本身。
l ECS Docker鏡像:
阿里云合作伙伴在鏡像市場發布了一款鏡像“Docker運行環境”,操作系統使用Ubuntu 14.04 64位并預裝了Docker 1.2版本,一旦ECS實例運行,用戶就能在其上構建和運行Docker容器了。
鏡像地址:http://market.aliyun.com/imageproduct/16-122106003-jxsc000057.html
l 阿里云Docker鏡像庫:
為方便ECS用戶使用Docker官方鏡像,阿里云同步Docker官方鏡像庫的最新版本到國內服務器,使得ECS用戶可以通過內網連接該服務器。
這些鏡像來自Docker Hub的stackbrew用戶下的所有鏡像倉庫,一部分鏡像由Docker官方維護,一部分由軟件官方社區維護。目前只支持鏡像下載。
詳細信息請參考:http://help.aliyun.com/view/11108189_13857376.html
l Docker私有鏡像庫:
為了滿足企業或組織內部分享鏡像,官方在Github上有一個項目docker-registry, 專門用于自建Docker的私有鏡像庫。鏡像管理是Docker的核心,為了保證鏡像數據的可靠、可用和安全,docker-registry現在支持鏡 像數據存儲在S3、GCS等云存儲上。
感謝個人貢獻者Chris給docker-registry開發了針對阿里云OSS的驅動,并把它和docker-registry一起做成了Docker鏡像,現在docker-registry的私有鏡像已經可以存儲在阿里云OSS上了。
詳細信息請參考:http://help.aliyun.com/view/11108189_13857373.html
ECS Docker實踐請參考:http://help.aliyun.com/view/11108189_13857384.html