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
Existe-t-il un moyen simple pour moi de mentionner le nombre d'instances pour la composition au lieu de copier et coller plusieurs fois?
Réponse mise à jour (octobre 2017)
Comme d'autres l'ont mentionné, l'API du menu fixe a changé. Je mets à jour ma réponse car c'est celle que la plupart des gens vont probablement regarder.
docker-compose up -d --scale app=5
Malheureusement, nous ne pouvons pas spécifier cela dans un fichier docker-compose.yml (à partir de la version 3.5).
Détails:
Ils ont introduit l'option scale
pour les versions 2.2 et 2.3 de docker-compos mais l'ont supprimée pour la version 3.0. De plus, pour utiliser la version 2.2 ou 2.3, vous devez télécharger une version plus ancienne de l’outil docker-compose. La version actuelle ne supporte pas les versions 2.2 ou 2.3 (elle supporte toutefois 2.0 ou 2.1). Il y a aussi une nouvelle section deploy
avec replicas: 5
mais elle ne concerne que le mode essaim.
--- Ancienne réponse ------------------------------------------
docker-compose scale app=5
Voir https://docs.docker.com/compose/reference/scale/
Ensuite, vous avez seulement besoin de ce fichier docker-compose
version: '2'
services:
app:
image: app
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
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