Mise à jour: 2019-03-11
Tout d'abord merci pour ceux qui ont voté pour cette réponse au fil des ans.
Veuillez noter que cette question a été posée en août 2013, alors que Docker était encore une toute nouvelle technologie. Depuis lors: Kubernetes a été lancé en juin 2014, Docker swarm a été intégré au moteur Docker en février 2015, Amazon a lancé sa solution de conteneur, ECS, en avril 2015 et Google a lancé GKE en août 2015. Il est juste de dire que le paysage des conteneurs de production a changé considérablement.
La réponse courte est que vous devez écrire votre propre logique pour ce faire.
Je m'attendrais à ce que ce type de fonctionnalité émerge des projets suivants, construits sur docker et conçus pour prendre en charge les applications en production:
Mise à jour 1
Un autre projet connexe que j'ai récemment découvert:
Mise à jour 2
La dernière version d'Openstack prend en charge la gestion des conteneurs Docker:
Mise à jour 3
Système de gestion des instances Docker
Et une présentation sur la façon d'utiliser des outils tels que Packer , Docker et Serf pour fournir un modèle d'infrastructure de serveur immuable
Mise à jour 4
Un article soigné sur la façon de câbler des conteneurs Docker à l'aide de serf :
Mise à jour 5
Exécutez Docker sur Mesos à l'aide du framework Marathon
Tutoriel du développeur Docker Mesosphere
Mise à jour 6
Exécutez Docker sur Tsuru car il prend en charge le déploiement de docker-cluster et de planificateur séparé
Mise à jour 7
Orchestration d'environnements basés sur Docker
maestro-ng
Mise à jour 8
decking.io
Mise à jour 9
Google kubernetes
Mise à jour 10
Redhat a remanié son PAAS OpenShift pour intégrer Docker
Mise à jour 11
Une bibliothèque Docker NodeJS encapsulant la ligne de commande Docker et la gérant à partir d'un fichier json.
Mise à jour 12
Le nouveau service de conteneur d' Amazon permet la mise à l'échelle du cluster.
Mise à jour 13
Strictement parlant, Flocker ne «met pas à l'échelle» les applications, mais il est conçu pour remplir une fonction connexe de rendre les conteneurs avec état (exécutant des services de bases de données?) Portables sur plusieurs hôtes docker:
https://clusterhq.com/
Mise à jour 14
Un projet pour créer des modèles portables qui décrivent les applications Docker:
http://panamax.io/
Mise à jour 15
Le projet Docker aborde désormais l'orchestration de manière native (voir l' annonce )
Mise à jour 16
Spotify Helios
Voir également:
Mise à jour 17
Le projet Openstack a maintenant un nouveau projet "container as a service" appelé Magnum:
Montre beaucoup de promesses, permet la configuration facile des frameworks d'orchestration Docker comme Kubernetes et Docker Swarm.
Mise à jour 18
Rancher est un projet qui mûrit rapidement
http://rancher.com/
Belle interface utilisateur et forte concentration sur les infrastructures hyrbrid Docker
Mise à jour 19
Le projet Lattice est une émanation de Cloud Foundry pour la gestion des clusters de conteneurs.
Mise à jour 20
Docker a récemment acheté Tutum:
https://www.docker.com/tutum
Mise à jour 21
Gestionnaire de packages pour les applications déployées sur Kubernetes .
http://helm.sh/
Mise à jour 22
Vamp est une plate-forme open source et auto-hébergée pour la gestion d'architectures orientées (micro) services qui reposent sur la technologie des conteneurs.
http://vamp.io/
Mise à jour 23
Un planificateur distribué, hautement disponible et compatible avec les centres de données
Des gars qui nous ont donné Vagrant et d'autres outils puissants.
Mise à jour 24
Solution d'hébergement de conteneurs pour AWS, open source et basée sur Kubernetes
https://supergiant.io/
Mise à jour 25
Conteneur basé sur Apache Mesos hébergé en Allemagne
https://sloppy.io/features/#features
Et Docker Inc. fournit également un service d'hébergement de conteneurs appelé Docker cloud
https://cloud.docker.com/
Mise à jour 26
Jelastic est un service PAAS hébergé qui met automatiquement à l'échelle les conteneurs.
mesosphere/mesos-docker
projet a été abandonné et remplacé parmesosphere/deimos
: github.com/mesosphere/deimosDeis automatise la mise à l'échelle des conteneurs Docker (entre autres).
Deis (prononcé DAY-iss) est un PaaS open source qui facilite le déploiement et la gestion des applications sur vos propres serveurs. Deis s'appuie sur Docker et CoreOS pour fournir un PaaS léger avec un flux de travail inspiré de Heroku.
Voici le flux de travail du développeur:
Deis déploie automatiquement vos conteneurs Docker sur un cluster CoreOS et configure les routeurs Nginx pour acheminer les demandes vers des conteneurs Docker sains. Si un hôte meurt, les conteneurs sont automatiquement redémarrés sur un autre hôte en quelques secondes. Accédez simplement à l'URL du proxy ou utilisez
deis open
pour accéder à votre application.Quelques autres commandes utiles:
Pour voir cela en action, regardez la vidéo du terminal à http://deis.io/overview/ . Vous pouvez également en apprendre davantage sur les concepts Deis ou vous lancer directement dans le déploiement de votre propre PaaS privé .
la source
Vous pouvez essayer Tsuru. Tsuru est un PaaS open source inspiré de Heroku, et il est déjà avec certains produits en production sur Globo.com (bras internet de la plus grande société de radiodiffusion au Brésil)
Il gère l'ensemble du flux d'une application, depuis la création du conteneur, le déploiement, le routage (avec hipache) avec de nombreuses fonctionnalités intéressantes comme le cluster docker, la mise à l'échelle des unités, le déploiement séparé, etc.
Jetez un œil dans notre documentation ci-dessous: http://docs.tsuru.io/
Voici notre article sur notre environnement: http://blog.tsuru.io/2014/04/04/running-tsuru-in-production-scaling-and-segregating-docker-containers/
la source
Jetez un œil à Rancher.com - il peut gérer plusieurs hôtes Docker et bien plus encore.
la source
Une approche sensée de la mise à l'échelle de Docker pourrait être:
Un autre projet open source docker de Yandex:
la source
Les gars d'OpenShift ont également créé un projet. Vous pouvez trouver plus d'informations ici , essayer le conteneur de test et des informations détaillées ici . Le seul problème est que la solution est centrée sur Redhat pour l'instant :)
la source
Bien que nous soyons de grands fans de Deis (deis.io) et que nous y déployions activement, il existe d'autres solutions de déploiement de style Heroku comme PaaS, notamment:
Débardeur des gens de Wayfinder:
https://github.com/longshoreman/longshoreman
Decker des gens de CloudCredo, utilisant CloudFoundry:
http://www.cloudcredo.com/decker-docker-cloud-foundry/
En ce qui concerne l'orchestration directe, le projet OpenSource Centurion de NewRelic semble assez prometteur:
https://github.com/newrelic/centurion
la source
Jetez également un œil à etcd et Consul .
la source
Panamax: Gestion Docker pour les humains. panamax.io
Fig: Environnements de développement rapides et isolés utilisant Docker. fig.sh
la source
Une option non mentionnée dans d'autres articles est Helios. Il est construit par spotify et n'essaie pas d'en faire trop.
https://github.com/spotify/helios
la source