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路由器以将请求路由到 Health 的Docker容器 . 如果主机死了,容器会在几秒钟内自动重新启动到另一台主机上 . 只需浏览代理网址或使用 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
10 回答
简短的回答是你必须编写自己的逻辑才能做到这一点 .
我希望这些功能能够从以下项目中出现,构建在docker之上,旨在支持 生产环境 中的应用程序:
flynn
deis
coreos
Mesos
更新1
我最近发现的另一个相关项目:
更新2
最新版本的Openstack包含对管理Docker容器的支持:
Docker Openstack
Paas zone within OpenStack
更新3
用于管理Docker实例的系统
以及如何使用Packer,Docker和Serf等工具提供不可变服务器基础架构模式的演示文稿
FutureOps with Immutable Infrastructure
Slides
更新4
关于如何使用serf将docker容器连接在一起的简洁文章:
更新5
使用Marathon框架在Mesos上运行Docker
Mesosphere Docker Developer Tutorial
更新6
在Tsuru上运行Docker,因为它支持docker-cluster和segregated scheduler deploy
更新7
基于Docker的环境编排
maestro-ng
更新8
decking.io
更新9
谷歌kubernetes
更新10
Redhat重构了他们的openshift PAAS以集成Docker
Project Atomic
Geard
更新11
Docker NodeJS lib包装Docker命令行并从json文件管理它 .
更新12
亚马逊的新版container service支持在群集中进行扩展 .
更新13
严格来说,Flocker并不是"scale"应用程序,但它旨在实现一个相关的功能,即使多个docker主机上的状态容器(运行数据库服务?)可移植:
https://clusterhq.com/
更新14
一个用于创建描述Docker应用程序的可移植模板的项目:
http://panamax.io/
更新15
Docker项目现在正在解决编排问题(参见announcement)
Docker machine
Docker swarm
Docker compose
更新16
Spotify Helios
也可以看看:
更新17
Openstack项目现在有一个名为Magnum的新“容器即服务”项目:
显示了很多承诺,可以轻松设置Docker编排框架,如Kubernetes和Docker swarm .
更新18
Rancher是一个快速成熟的项目
http://rancher.com/
不错的UI和强烈关注hyrbrid Docker基础设施
更新19
Lattice project是Cloud Foundry的一个分支,用于管理容器集群 .
更新20
Docker最近买了Tutum:
https://www.docker.com/tutum
更新21
部署在Kubernetes上的应用程序的程序包管理器 .
http://helm.sh/
更新22
Vamp是一个开源和自托管平台,用于管理依赖于容器技术的(微)面向服务的体系结构 .
http://vamp.io/
更新23
分布式,高可用性,数据中心感知调度程序
来自给我们Vagrant和其他强大工具的人 .
更新24
AWS的容器托管解决方案,开源并基于Kubernetes
https://supergiant.io/
更新25
基于Apache Mesos的容器位于德国
https://sloppy.io/features/#features
Docker Inc.还提供称为Docker cloud的容器托管服务
https://cloud.docker.com/
更新26
Jelastic是托管PAAS服务,可自动扩展容器 .
Deis自动扩展Docker容器(以及其他内容) .
Deis(发音为DAY-iss)是一个开源PaaS,可以在您自己的服务器上轻松部署和管理应用程序 . Deis构建于Docker和CoreOS之上,以提供具有Heroku灵感工作流程的轻量级PaaS .
这是开发人员工作流程:
Deis自动在CoreOS集群中部署Docker容器,并配置Nginx路由器以将请求路由到 Health 的Docker容器 . 如果主机死了,容器会在几秒钟内自动重新启动到另一台主机上 . 只需浏览代理网址或使用
deis open
点击您的应用即可 .一些其他有用的命令:
要查看此操作,请查看http://deis.io/overview/上的终端视频 . 你也可以learn about Deis concepts或直接进入deploying your own private PaaS .
你可以试试Tsuru . Tsuru是一个灵感来自Heroku的开源PaaS,它已经在Globo.com上 生产环境 了一些产品(巴西最大的广播电视公司的互联网部门)
它管理应用程序的整个流程,因为容器创建,部署,路由(带有hipache)具有许多很好的功能,如docker cluster,单元扩展,隔离部署等 .
请查看下面的文档:http://docs.tsuru.io/
这里我们的帖子涵盖了我们的环境:http://blog.tsuru.io/2014/04/04/running-tsuru-in-production-scaling-and-segregating-docker-containers/
看看Rancher.com - 它可以管理多个Docker主机等等 .
扩展Docker的一种明智的方法可能是:
每个服务都是 docker 容器
通过链接管理的内部容器服务发现(new feature from docker 0.6.5)
容器将通过Dokku部署
应用程序将通过Shipyard管理,而Shipyard又使用hipache
来自Yandex的另一个docker开源项目:
Openshift人也创建了一个项目 . 你可以找到更多信息here,试试test container和详细信息here . 唯一的问题是解决方案是Redhat为中心现在:)
虽然我们是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项目似乎非常有希望:
https://github.com/newrelic/centurion
再看看etcd和Consul .
巴拿马型:人类的码头管理 . panamax.io
图:使用Docker的快速,隔离的开发环境 . fig.sh
其他帖子中未提及的一个选项是Helios . 它是由spotify构建的,并不会尝试做太多 .
https://github.com/spotify/helios