139 votes

Comment adapter les conteneurs Docker en production

Donc, 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, portable, auto-suffisant de récipients à partir de toute application. Le même conteneur que les versions en développement et les tests sur un ordinateur portable peut fonctionner à d'échelle dans la production, sur des machines virtuelles, du métal nu, OpenStack clusters, public nuages et plus.

Disons que j'ai un menu fixe de l'image qui s'exécute Nginx et un site web se connecte à la base de données externe. Comment puis-je l'échelle du conteneur dans la production?

600voto

Mark O'Connor Points 33201

La réponse courte est que vous devriez écrire votre propre logique pour ce faire.

Je m'attends à ce type de fonction à émerger des projets suivants, construit sur le haut de docker, et conçu pour les applications de soutien à la production:

Mise à jour 1

Un autre projet que j'ai découvert récemment:

Mise à jour 2

La dernière version Openstack contient la prise en charge de la gestion des conteneurs Docker:

Mise à jour 3

Système de gestion des instances de Docker

Et une présentation sur la façon d'utiliser des outils comme Packer, Docker et Serf de livrer un immuable de l'infrastructure du serveur motif

Mise à jour 4

Un joli article sur la façon de câbler ensemble des conteneurs docker à l'aide de serf:

Mise à jour 5

Exécutez le Panneau sur Mesos en utilisant le Marathon de cadre

La Mésosphère Docker Développeur Tutoriel

La mise à jour 6

Exécutez le Panneau sur Tsuru , car il supporte docker-cluster et distincts planificateur de déployer

Mise à jour 7

Docker à des environnements d'orchestration

maestro-ng

Mise à jour 8

le platelage.io

Mise à jour 9

Google kubernetes

Mise à jour de 10

Redhat ont refait leur PAAS openshift à intégrer Docker

Mise à jour 11

Un Docker NodeJS lib habillage du Panneau de commande de la ligne et de les gérer à partir d'un fichier json.

42voto

gabrtv Points 2000

Deis automatise la mise à l'échelle de conteneurs Docker (entre autres choses).

Deis (prononcé JOUR-iss) est un open source, PaaS, 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 léger PaaS avec un Heroku inspiré de flux de travail.

Ici, c'est le flux de travail du développeur:

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 sur un CoreOS cluster et configure la Nginx routeurs de la demande de route de sain conteneurs Docker. Si un hôte meurt, les conteneurs sont automatiquement redémarrés sur un autre hôte en quelques secondes. Il suffit de parcourir à l'URL de proxy ou de l'utilisation deis open de frapper votre application.

Certains 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 le voir en action, regardez la vidéo du terminal à http://deis.io/overview/. Vous pouvez également en apprendre davantage sur Deis concepts ou de sauter à droite dans le déploiement de votre propre privé PaaS.

Avertissement: Ni Deis ni Docker sont prêts pour la production

19voto

Magno Torres Points 120

Vous pouvez essayer de Tsuru. Tsuru est un PaaS open source d'inspiration dans Heroku, et il est déjà avec certains produits, de la production à la Globo.com(internet bras de la plus grande Émission de Télévision de la Société au Brésil)

Il gère l'ensemble du flux de l'application, depuis la création des conteneurs, de déployer, de routage(avec hipache) avec de nombreuses fonctionnalités intéressantes comme docker cluster, mise à l'échelle des unités, les déployer, etc.

Jetez un oeil dans notre documentation ci-dessous: http://docs.tsuru.io/en/latest/docker.html

Ici notre post couvrant notre environnement: http://blog.tsuru.io/2014/04/04/running-tsuru-in-production-scaling-and-segregating-docker-containers/

9voto

tommasop Points 5692

Une approche sensible à l'entartrage Docker pourrait être:

  1. Chaque service sera un docker conteneur
  2. Intra conteneur de découverte de services gérés par des liens (nouvelle fonctionnalité de docker 0.6.5)
  3. Les conteneurs seront déployés à travers Dokku
  4. Les demandes seront gérées par le biais de Chantier qui, à son tour, est à l'aide de hipache

Un autre docker open source projet de Yandex:

2voto

Kunthar Points 73

Les gars de Openshift ont également créé un projet. Vous pouvez trouver plus d'informations ici , essayez 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 le moment :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X