Answers:
首先,感谢多年来支持此答案的人们。
请注意,这个问题是在2013年8月提出的,当时Docker仍然是一项非常新的技术。此后:Kubernetes于2014年6月推出,Docker swarm在2015年2月被集成到Docker引擎中,亚马逊于2015年4月推出了其容器解决方案ECS,谷歌于 2015年8月推出了GKE。发生了很大变化。
简短的答案是,您必须编写自己的逻辑来执行此操作。
我希望这种功能会在以下基于docker的项目中出现,并旨在支持生产中的应用程序:
我最近发现的另一个相关项目:
最新版本的Openstack包含对管理Docker容器的支持:
用于管理Docker实例的系统
以及有关如何使用Packer,Docker和Serf之类的工具交付不可变的服务器基础结构模式的演示
关于如何使用serf将docker容器连接在一起的整洁文章:
在Tsuru上运行Docker,因为它支持docker-cluster和单独的调度程序部署
基于Docker的环境编排
Google kubernetes
Redhat重构了openshift PAAS以集成Docker
Docker NodeJS库包装了Docker命令行并通过json文件对其进行管理。
Amazon的新容器服务可在集群中进行扩展。
严格来说,Flocker不会“扩展”应用程序,但是它旨在实现一种相关功能,即使状态容器(运行数据库服务?)可跨多个Docker主机移植:
一个用于创建可描述Docker应用程序的可移植模板的项目:
Docker项目现在正在本地处理业务流程(请参阅公告)
也可以看看:
现在,Openstack项目有一个名为Magnum的新“容器即服务”项目:
展现出巨大的希望,使您可以轻松设置Docker编排框架(如Kubernetes和Docker swarm)。
Rancher是一个日趋成熟的项目
良好的用户界面,并高度关注混合的Docker基础架构
该格项目是的Cloud Foundry的管理容器集群的一个分支。
Docker最近购买了Tutum:
用于Kubernetes上部署的应用程序的程序包管理器。
Vamp是一个开放源代码和自托管平台,用于管理依赖于容器技术的面向(微)服务的架构。
分布式的,高度可用的,支持数据中心的调度程序
来自给我们Vagrant和其他强大工具的人。
适用于AWS的容器托管解决方案,开源且基于Kubernetes
位于德国的基于Apache Mesos的容器托管
https://sloppy.io/features/#features
Docker Inc.还提供称为Docker cloud的容器托管服务
Jelastic是一项托管的PAAS服务,可自动缩放容器。
Deis可以自动缩放Docker容器(以及其他功能)。
Deis(发音为DAY-iss)是一个开源PaaS,可轻松在您自己的服务器上部署和管理应用程序。Deis建立在Docker和CoreOS的基础上,以Heroku启发的工作流提供轻量级的PaaS。
这是开发人员的工作流程:
deis create myapp # create a new deis app called "myapp"
git push deis master # built with a buildpack or dockerfile
deis scale web=16 worker=4 # scale up docker containers
Deis会在CoreOS集群上自动部署Docker容器,并配置Nginx路由器将请求路由到健康的Docker容器。如果主机死亡,容器将在几秒钟内自动在另一台主机上重新启动。只需浏览到代理URL或使用deis open
即可打您的应用。
其他一些有用的命令:
deis config:set DATABASE_URL= # attach to a database w/ an envvar
deis run make test # run ephemeral containers for one-off tasks
deis logs # get aggregated logs for troubleshooting
deis rollback v23 # rollback to a prior release
要查看实际效果,请查看位于http://deis.io/overview/的终端视频。您还可以了解Deis概念或直接进入部署自己的私有PaaS。
您可以尝试鹤。Tsuru是受Heroku启发的开源PaaS,已经在Globo.com(巴西最大的广播电视公司的互联网分支)中生产了一些产品。
它管理应用程序的整个流程,因为容器的创建,部署,路由(带有头痛)具有许多不错的功能,例如docker集群,单位扩展,隔离部署等。
看一下下面的文档:http : //docs.tsuru.io/
这是我们涵盖环境的帖子:http : //blog.tsuru.io/2014/04/04/running-tsuru-in-production-scaling-and-segregating-docker-containers/
看看Rancher.com-它可以管理多个Docker主机以及更多其他主机。
扩展Docker的明智方法可能是:
Yandex的另一个Docker开源项目:
尽管我们是Deis(deis.io)的忠实拥护者并正在积极地对其进行部署,但还有其他Heroku,例如PaaS风格的部署解决方案,包括:
Wayfinder团队的Longshoreman:
https://github.com/longshoreman/longshoreman
来自CloudCredo的Decker,使用CloudFoundry:
http://www.cloudcredo.com/decker-docker-cloud-foundry/
至于简单的编排,NewRelic的开源Centurion项目似乎很有希望:
其他职位未提及的一种选择是Helios。它是由spotify构建的,不会尝试做太多事情。