59 votes

docker-compose la création de plusieurs instances pour la même image

Je dois démarrer plusieurs conteneurs pour la même image. Si je crée mon fichier de composition comme indiqué ci-dessous, cela fonctionne bien.

 version: '2'

services:
  app01:
    image: app
  app02:
    image: app
  app03:
    image: app
  app04:
    image: app
  app05:
    image: app  
 

Y at-il un moyen facile pour moi de mentionner le nombre d’instances pour la composition au lieu de copier et coller plusieurs fois?

71voto

Alkaline Points 1625

Mise à jour de la réponse (Oct 2017)

Comme d'autres l'ont mentionné, le support de l'API a changé. Je suis à jour de ma réponse, puisque c'est celui de la plupart des gens vont probablement regarder.

docker-compose up --scale app=5

Malheureusement, nous ne pouvons pas spécifier dans un docker-composer.fichier yml actuellement (version 3.5).

Détails:
Ils l'ont fait introduire l' scale option pour la version 2.2 et 2.3 de docker-composer, mais l'a enlevée pour la version 3.0. Aussi, utiliser la version 2.2 ou 2.3, vous aurez besoin de télécharger une ancienne version de l'docker-composition de l'outil. La version actuelle ne prend pas en charge 2.2 ou 2.3 (il prend en charge 2.0 ou 2.1 cependant). Il y a aussi un nouveau deploy section avec replicas: 5 mais c'est seulement pour l'essaim de mode.

--- Vieille Réponse --------------------------------------

docker-compose scale app=5

Voir https://docs.docker.com/compose/reference/scale/

Ensuite, vous aurez besoin de ce menu fixe-composition de fichier

version: '2'

services:
  app:
    image: app

27voto

fssilva Points 399

La commande scale est maintenant obsolète. Vous devez plutôt utiliser up .

 docker-compose up --scale app=2
 

plus de détails dans https://docs.docker.com/compose/reference/up

15voto

Esra Points 316

Vous pouvez le faire avec replica comme indiqué dans https://docs.docker.com/compose/compose-file/#replicas

 version: '3'
services:
  worker:
    image: dockersamples/examplevotingapp_worker
    networks:
      - frontend
      - backend
    deploy:
      mode: replicated
      replicas: 6
 

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