docker-composition de la création de plusieurs instances de la même image
J'ai besoin de lancer plusieurs contenants pour la même image. Si je crée mon fichier composer comme indiqué ci-dessous, il fonctionne très bien.
version: '2'
services:
app01:
image: app
app02:
image: app
app03:
image: app
app04:
image: app
app05:
image: app
Est-il un moyen facile pour moi de mentionner le nombre d'instances pour le composer au lieu de copier et coller plusieurs fois?
Vous devez vous connecter pour publier un commentaire.
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 -d --scale app=5
Malheureusement, nous ne pouvons pas spécifier dans un docker-composer.fichier yml actuellement (version 3.5).
Détails:
Ils ont introduit la
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 avecreplicas: 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/
Alors vous aurez besoin de ce menu fixe-composition de fichier
docker-compose up
, il sera exécuté le préconfiguré certain nombre de cas?expose:
pour exposer les ports à d'autres services sur le même réseau ouports:
pour exposer les ports de l'hôte (accessibles au public). docs.docker.com/compose/compose-file/#short-syntax-1-d
(mode démon) signifie tous contenants a commencé à utiliser de la mêmedocker-compose
fichier va s'arrêter une fois que Ctrl+C est utilisé pour mettre fin à la dernière échelle conteneur. Très dangereux. Je suggère l'ajout de-d
àdocker-compose up
dans la réponse ci-dessus, pour éviter de copier/coller des catastrophes.up -d
. Faute de frappe, cette fois.La
scale
de commande est maintenant obsolète, vous devez utiliserup
à la place.plus de détails dans https://docs.docker.com/compose/reference/up
Vous pouvez le faire avec
replica
comme mentionné dans https://docs.docker.com/compose/compose-file/#replicasdocker-compose up
commandes.deploy
intro/en-tête docs de l'etat que l'ensemble de la section est ignorée pardocker-compose up
(docs.docker.com/compose/compose-file/#deploy)docker-compose --compatibility up
de faire docker accepterdeploy
section sans l'aide de l'essaim.