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?

139
demandé sur Tshepang 2013-08-17 08:47:11

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 1

un 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" 5

Run 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

maestro-ng

mise à Jour de 8

les terrasses.io

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:

https://clusterhq.com /

mise à Jour du 14

Un projet de création d'portables des modèles qui décrivent le Panneau applications:

http://panamax.io /

mise à Jour 15

Le Docker projet est maintenant aborder l'orchestration de manière native (Voir annonce )

mise à Jour 16

Spotify Helios

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

http://rancher.com /

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" 20

Docker a récemment acheté Tutum:

https://www.docker.com/tutum

mise à Jour 21

gestionnaire de paquets pour les applications déployées sur Kubernetes .

http://helm.sh /

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.

http://vamp.io /

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

https://supergiant.io /

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

https://cloud.docker.com /

mise à Jour 26

Jelastic est un service PaaS hébergé qui effectue la mise à l'échelle automatique des conteneurs.

549
répondu Mark O'Connor 2018-04-06 15:34:46

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é .

39
répondu gabrtv 2015-01-28 15:59:57

regardez Rancher.com - il peut gérer plusieurs serveurs Docker et bien plus encore.

17
répondu dublx 2015-04-16 00:05:05

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 /

17
répondu Magno Torres 2015-06-07 15:36:04

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

  1. Chaque service sera un docker conteneur
  2. découverte de service Intra-conteneur gérée par des liens ( nouvelle fonctionnalité de docker 0.6.5 )
  3. Les conteneurs
  4. seront déployés par Dokku "151990920
  5. Applications seront gérées par Chantier naval qui, à son tour, utilise hipache

un Autre docker open source projet de Yandex:

8
répondu tommasop 2013-12-02 08:28:39

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 :)

2
répondu Kunthar 2014-04-19 10:55:20

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:

https://github.com/newrelic/centurion

2
répondu IanBlenke 2014-07-25 18:07:41

regardez aussi etcd et Consul .

1
répondu Ricardo Silva 2014-09-01 12:37:19

Panamax: Panneau de Gestion pour les Humains. panamax.io

Fig: Rapide, isolé des environnements de développement à l'aide de Docker. fig.sh

1
répondu rus1 2014-09-05 21:37:24

une option non mentionnée dans les autres messages est Helios. Il est construit par spotify et n'essaie pas d'en faire trop.

https://github.com/spotify/helios

1
répondu Chris Dail 2015-03-24 20:02:29