阿里云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