Comment dimensionner les conteneurs Docker en production
alors j'ai récemment découvert cet outil génial, et il dit
Docker est un projet open-source pour créer facilement léger, des récipients portatifs auto-suffisants de n'importe quelle application. Le même conteneur qu'un développeur construit et teste sur un ordinateur portable peut fonctionner à échelle, en production, sur VMs, métal nu, clusters OpenStack, public nuages et plus.
disons que j'ai une image docker qui tourne Nginx et un site Web se connecte à une base de données externe. Comment puis-je dimensionner le conteneur en production?
10 réponses
La réponse courte est que vous devriez écrire votre propre logique pour ce faire.
Je m'attendrais à ce que ce genre de caractéristique émerge des projets suivants, construits sur docker, et conçus pour soutenir les applications en production:
"1519220920 mise à jour" Update 1un autre projet connexe que j'ai récemment découvert:
Update 2
la dernière version D'Openstack contient le soutien pour la gestion des conteneurs Docker:
Update 3
Système de gestion de Docker instances
et une présentation sur la façon d'utiliser des outils comme Packer , Docker et Serf pour livrer un modèle d'infrastructure de serveur immuable
Jour 4
Un joli article sur la façon de câbler ensemble des conteneurs docker à l'aide de serf :
"1519220920 de mise à Jour" 5Run Docker sur Mesos en utilisant le Marathon framework
La Mésosphère Docker Développeur Tutoriel
mise à Jour 6
Exécuter Docker sur Tsuru soutient docker-cluster et distincts planificateur de déployer
mise à Jour de 7
orchestration d'environnements basés sur Docker
mise à Jour de 8
mise à Jour 9
Google kubernetes
mise à Jour de 10
Redhat ont remanié leur PAAS openshift pour intégrer Docker
mise à Jour 11
un Docker NodeJS lib enveloppant la ligne de commande Docker et la gérant à partir d'un fichier json.
mise à Jour du 12
d'Amazon nouveau conteneur de service permet la mise à l'échelle dans le cluster.
mise à Jour 13
à proprement parler Flocker n'est pas "l'échelle" des applications, mais il est conçu pour accomplir une fonction de prise de dynamique des conteneurs (bases de données des services?) portable à travers plusieurs serveurs docker:
mise à Jour du 14
Un projet de création d'portables des modèles qui décrivent le Panneau applications:
mise à Jour 15
Le Docker projet est maintenant aborder l'orchestration de manière native (Voir annonce )
mise à Jour 16
voir aussi:
mise à Jour 17
le projet Openstack a maintenant un nouveau "conteneur comme un service" projet appelé Magnum:
montre beaucoup de promesse, permet la mise en place facile de Docker orchestration frameworks comme Kubernetes et Docker essaim.
mise à Jour 18
Rancher est un projet qui mûrit rapidement
Belle INTERFACE utilisateur et l'accent sur hyrbrid Docker infrastructures
mise à Jour 19
le projet de réseau est une émanation de Cloud Foundry pour la gestion de clusters de conteneurs.
"1519220920 de mise à Jour" 20Docker a récemment acheté Tutum:
mise à Jour 21
gestionnaire de paquets pour les applications déployées sur Kubernetes .
mise à Jour du 22
Vamp est une plate-forme libre et auto-hébergée pour la gestion (micro)des architectures axées sur les services qui reposent sur la technologie des conteneurs.
mise à Jour 23
Distribuée, Hautement Disponible, Centre De Données-Connaissance Du Planificateur
des gars qui nous ont donné des outils vagabonds et d'autres puissants.
mise à Jour 24
solution D'hébergement de conteneurs pour AWS, open source et basé sur Kubernetes
mise à Jour du 25
Apache Mesos base conteneur hébergé situé en Allemagne
https://sloppy.io/features/#features
Et Docker Inc. fournir également un service d'hébergement de conteneurs appelé Docker cloud
mise à Jour 26
Jelastic est un service PaaS hébergé qui effectue la mise à l'échelle automatique des conteneurs.
Deis automatise la mise à l'échelle des conteneurs Docker (entre autres choses).
Deis (prononcé DAY-iss) est un PaaS open source qui le rend facile à déployer et à gérer 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 développement:
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 déploie automatiquement vos conteneurs Docker à travers un cluster CoreOS et configure les routeurs Nginx pour acheminer les requêtes 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. Il suffit de naviguer vers L'URL proxy ou d'utiliser deis open
pour accéder à votre application.
quelques autres commandes utiles:
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
pour voir cela en action, consultez la vidéo du terminal au http://deis.io/overview / . Vous pouvez également apprendre sur les concepts D'Eid ou sauter directement dans déployer votre propre PaaS privé .
regardez Rancher.com - il peut gérer plusieurs serveurs Docker et bien plus encore.
vous pouvez essayer Tsuru. Tsuru est un PaaS opensource inspiré à Heroku, et il est déjà avec certains produits en production à Globo.com (Internet arm of the biggest Broadcast Television Company in Brazil)
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 comme docker cluster, mise à l'échelle des unités, déploiement ségrégé, etc.
consultez notre documentation ci-dessous: http://docs.tsuru.io /
ici notre poste couvrant notre environnement: http://blog.tsuru.io/2014/04/04/running-tsuru-in-production-scaling-and-segregating-docker-containers /
Une approche sensible à l'entartrage Docker pourrait être:
- Chaque service sera un docker conteneur
- découverte de service Intra-conteneur gérée par des liens ( nouvelle fonctionnalité de docker 0.6.5 ) Les conteneurs
- seront déployés par Dokku "151990920
- Applications seront gérées par Chantier naval qui, à son tour, utilise hipache
un Autre docker open source projet de Yandex:
Openshift guys a également créé un projet. Vous pouvez trouver plus d'informations ici , essayez récipient d'essai et des informations détaillées ici . Le seul problème est que la solution est centrée sur Redhat pour l'instant :)
alors que nous sommes de grands fans de Deis (deis.io) et s'y déploient activement, il y a d'autres Heroku comme PaaS solutions de déploiement là-bas, y compris:
Débardeur de la Wayfinder gens:
https://github.com/longshoreman/longshoreman
Decker des gens de CloudCredo, en utilisant CloudFoundry:
http://www.cloudcredo.com/decker-docker-cloud-foundry /
pour ce qui est de l'orchestration pure, le projet Centurion opensource de NewRelic semble très prometteur:
Panamax: Panneau de Gestion pour les Humains. panamax.io
Fig: Rapide, isolé des environnements de développement à l'aide de Docker. fig.sh
une option non mentionnée dans les autres messages est Helios. Il est construit par spotify et n'essaie pas d'en faire trop.