Atualização: 2019-03-11
Antes de tudo, obrigado por aqueles que votaram nessa resposta ao longo dos anos.
Esteja ciente de que esta pergunta foi feita em agosto de 2013, quando o Docker ainda era uma tecnologia muito nova. Desde então: o Kubernetes foi lançado em junho de 2014, o enxame do Docker foi integrado ao mecanismo do Docker em fevereiro de 2015, a Amazon lançou sua solução de contêineres, ECS, em abril de 2015 e o Google lançou o GKE em agosto de 2015. É justo dizer que o cenário de contêineres de produção tem mudou substancialmente.
A resposta curta é que você teria que escrever sua própria lógica para fazer isso.
Eu esperava que esse tipo de recurso emergisse dos seguintes projetos, criados sobre o docker e projetados para suportar aplicativos em produção:
Atualização 1
Outro projeto relacionado que descobri recentemente:
Atualização 2
A última versão do Openstack contém suporte para o gerenciamento de contêineres do Docker:
Atualização 3
Sistema para gerenciar instâncias do Docker
E uma apresentação sobre como usar ferramentas como Packer , Docker e Serf para fornecer um padrão de infraestrutura de servidor imutável
Atualização 4
Um artigo interessante sobre como conectar os contêineres do docker usando o servf :
Atualização 5
Execute o Docker no Mesos usando a estrutura Marathon
Tutorial do desenvolvedor do Mesosphere Docker
Atualização 6
Execute o Docker no Tsuru, pois ele suporta implantações de cluster de docker e planejador segregado
Atualização 7
Orquestração de ambientes baseados no Docker
maestro-ng
Atualização 8
decking.io
Atualização 9
Google kubernetes
Atualização 10
A Redhat refatorou seu PAAS de turno aberto para integrar o Docker
Atualização 11
Uma lib do Docker NodeJS agrupando a linha de comando do Docker e gerenciando-a a partir de um arquivo json.
Atualização 12
O novo serviço de contêiner da Amazon permite a escala no cluster.
Atualização 13
Estritamente falando, o Flocker não "dimensiona" aplicativos, mas foi projetado para desempenhar uma função relacionada de tornar contêineres com estado (executando serviços de bancos de dados?) Portáteis em vários hosts do docker:
https://clusterhq.com/
Atualização 14
Um projeto para criar modelos portáteis que descrevem aplicativos Docker:
http://panamax.io/
Atualização 15
O projeto Docker agora está abordando a orquestração de forma nativa (veja o anúncio )
Atualização 16
Spotify Helios
Veja também:
Atualização 17
O projeto Openstack agora tem um novo projeto "contêiner como serviço" chamado Magnum:
Mostra muitas promessas, permite a fácil configuração de estruturas de orquestração do Docker, como Kubernetes e Docker swarm.
Atualização 18
Rancheiro é um projeto que está amadurecendo rapidamente
http://rancher.com/
Interface do usuário agradável e forte foco em infraestruturas Hockbrid Docker
Atualização 19
O projeto Lattice é uma ramificação do Cloud Foundry para gerenciar clusters de contêineres.
Atualização 20
Docker comprou recentemente Tutum:
https://www.docker.com/tutum
Atualização 21
Gerenciador de pacotes para aplicativos implantados no Kubernetes .
http://helm.sh/
Atualização 22
O Vamp é uma plataforma de código aberto e auto-hospedada para gerenciar arquiteturas orientadas para (micro) serviços que dependem da tecnologia de contêineres.
http://vamp.io/
Atualização 23
Um agendador distribuído e altamente disponível para o data center
Dos caras que nos deram o Vagrant e outras ferramentas poderosas.
Atualização 24
Solução de hospedagem de contêiner para AWS, de código aberto e baseada no Kubernetes
https://supergiant.io/
Atualização 25
Container baseado em Apache Mesos hospedado localizado na Alemanha
https://sloppy.io/features/#features
E a Docker Inc. também fornece um serviço de hospedagem de contêiner chamado Docker cloud
https://cloud.docker.com/
Atualização 26
Jelastic é um serviço PAAS hospedado que dimensiona contêineres automaticamente.
mesosphere/mesos-docker
projeto foi descontinuado e substituído pormesosphere/deimos
: github.com/mesosphere/deimosO Deis automatiza o dimensionamento de contêineres do Docker (entre outras coisas).
O Deis (pronunciado DAY-iss) é um PaaS de código aberto que facilita a implantação e o gerenciamento de aplicativos em seus próprios servidores. A Deis se baseia no Docker e no CoreOS para fornecer um PaaS leve com um fluxo de trabalho inspirado no Heroku.
Aqui está o fluxo de trabalho do desenvolvedor:
A Deis implanta automaticamente seus contêineres Docker em um cluster CoreOS e configura os roteadores Nginx para rotear solicitações para contêineres Docker íntegros. Se um host morrer, os contêineres serão reiniciados automaticamente em outro host em segundos. Basta procurar o URL do proxy ou usar
deis open
para acessar seu aplicativo.Alguns outros comandos úteis:
Para ver isso em ação, confira o vídeo do terminal em http://deis.io/overview/ . Você também pode aprender sobre os conceitos da Deis ou implementar a sua própria PaaS privada .
fonte
Você pode tentar Tsuru. Tsuru é um PaaS de código aberto inspirado em Heroku, e já está com alguns produtos em produção na Globo.com (braço de internet da maior empresa de televisão aberta do Brasil)
Ele gerencia todo o fluxo de um aplicativo, desde a criação, implantação, roteamento (com hipache) de contêineres com muitos recursos interessantes como cluster de docker, dimensionamento de unidades, implantação segregada, etc.
Dê uma olhada em nossa documentação abaixo: http://docs.tsuru.io/
Aqui, nossa postagem sobre o ambiente: http://blog.tsuru.io/2014/04/04/running-tsuru-in-production-scaling-and-segregating-docker-containers/
fonte
Dê uma olhada no Rancher.com - ele pode gerenciar vários hosts do Docker e muito mais.
fonte
Uma abordagem sensata para dimensionar o Docker pode ser:
Outro projeto de fonte aberta do docker da Yandex:
fonte
O pessoal do Openshift também criou um projeto. Você pode encontrar mais informações aqui , tente o contêiner de teste e informações detalhadas aqui . O único problema é que a solução é centrada no Redhat por enquanto :)
fonte
Enquanto somos grandes fãs do Deis (deis.io) e estamos implantando ativamente nele, existem outros Heroku como soluções de implantação no estilo PaaS por aí, incluindo:
Longshoreman do pessoal da Wayfinder:
https://github.com/longshoreman/longshoreman
Decker do pessoal do CloudCredo, usando o CloudFoundry:
http://www.cloudcredo.com/decker-docker-cloud-foundry/
Quanto à orquestração direta, o projeto Centurion de código aberto da NewRelic parece bastante promissor:
https://github.com/newrelic/centurion
fonte
Veja também o etcd e o Consul .
fonte
Panamax: Gerenciamento de Docker para seres humanos. panamax.io
Fig: Ambientes de desenvolvimento rápidos e isolados usando o Docker. fig.sh
fonte
Uma opção não mencionada em outras postagens é o Helios. É construído pelo spotify e não tenta fazer muito.
https://github.com/spotify/helios
fonte