Aktualisierte Antwort (Okt 2017)
Wie bereits erwähnt, hat sich die Docker-API geändert. Ich aktualisiere meine Antwort, da es die ist, die die meisten Leute wahrscheinlich sehen werden.
docker-compose up -d --scale app=5
Leider können wir dies derzeit nicht in einer docker-compose.yml-Datei angeben (ab Version 3.5).
Details:
Sie haben die scale
Option für Version 2.2 und 2.3 von Docker-Compose eingeführt, sie jedoch für Version 3.0 entfernt. Um Version 2.2 oder 2.3 verwenden zu können, müssen Sie außerdem eine ältere Version des Docker-Compose-Tools herunterladen. Die aktuelle Version unterstützt 2.2 oder 2.3 nicht (jedoch 2.0 oder 2.1). Es gibt auch einen neuen deploy
Abschnitt mit, replicas: 5
aber nur für den Schwarmmodus.
--- Alte Antwort ----------------------------------
docker-compose scale app=5
Siehe https://docs.docker.com/compose/reference/scale/
Dann brauchen Sie nur noch diese Docker-Compose-Datei
version: '2'
services:
app:
image: app
docker-compose up
Ausführen die vorkonfigurierte Anzahl von Instanzen ausgeführt wird?expose:
zum Offenlegen von Ports für andere Dienste im selben Netzwerk oderports:
zum Freigeben von Ports für den Host (öffentlich zugänglich). docs.docker.com/compose/compose-file/#short-syntax-1-d
(Daemon-Modus) bedeutet, dass alle Container, die mit derselbendocker-compose
Datei gestartet wurden, gestoppt werden, sobald Strg + C zum Beenden des zuletzt skalierten Containers verwendet wird. Sehr gefährlich. Ich würde vorschlagen-d
,docker-compose up
in der obigen Antwort etwas hinzuzufügen , um Katastrophen beim Kopieren / Einfügen zu vermeiden.up -d
. Tippfehler dieses Mal.Der
scale
Befehl ist jetzt veraltet. Sie sollten ihnup
stattdessen verwenden.Weitere Informationen finden Sie unter https://docs.docker.com/compose/reference/up
quelle
Sie können dies
replica
wie unter https://docs.docker.com/compose/compose-file/#replicas beschrieben tunBearbeiten (aus den Kommentaren): Damit kann
docker-compose --compatibility up
Docker den Bereitstellungsabschnitt akzeptieren, ohne Schwarm zu verwenden.quelle
docker-compose up
Befehlen ignoriert wird .deploy
Intro / Header-Dokumente geben an, dass der gesamte Abschnitt vondocker-compose up
( docs.docker.com/compose/compose-file/#deploy ) ignoriert wirddocker-compose --compatibility up
Docker dazu bringen,deploy
Abschnitte zu akzeptieren, ohne Schwarm zu verwenden.