Bestimmten Service aus der Compose-Datei starten
Im vorherigen Schritt haben wir alle in unserer docker-compose.yml-Datei definierten Services mit docker-compose up gestartet. In diesem Schritt lernen wir, wie man einen bestimmten Service startet, wenn mehrere Services in der Compose-Datei definiert sind.
Obwohl unsere aktuelle docker-compose.yml nur einen Service (web) enthält, ist der Befehl zum Starten eines bestimmten Services nützlich, wenn Sie eine komplexere Anwendung mit mehreren Services haben (wie einen Webserver, eine Datenbank und eine Backend-API).
Zuerst stoppen wir den aktuell laufenden Service. Dazu verwenden wir den Befehl docker-compose down. Dieser Befehl stoppt und entfernt Container, Netzwerke und Volumes, die durch up erstellt wurden.
Stellen Sie sicher, dass Sie sich im Verzeichnis ~/project/my-compose-app befinden.
cd ~/project/my-compose-app
Führen Sie nun den Befehl docker-compose down aus.
docker-compose down
Sie sehen eine Ausgabe, die anzeigt, dass der Container und das Netzwerk gestoppt und entfernt werden.
Stopping my-compose-app_web_1 ... done
Removing my-compose-app_web_1 ... done
Removing network my-compose-app_default
Sie können überprüfen, ob der Container gestoppt wurde, indem Sie docker ps ausführen. Es sollten keine laufenden Container aus unserer Compose-Datei vorhanden sein.
docker ps
Jetzt demonstrieren wir, wie man einen bestimmten Service startet. Der Befehl lautet docker-compose up <service_name>. In unserem Fall ist der Service-Name web. Wir verwenden wieder das -d-Flag, um ihn im Detached-Modus auszuführen.
docker-compose up -d web
Dieser Befehl startet nur den web-Service, wie in der docker-compose.yml-Datei definiert. Da das Image bereits im vorherigen Schritt heruntergeladen wurde, wird der Container direkt erstellt und gestartet.
Sie sehen eine ähnliche Ausgabe wie diese:
Creating my-compose-app_web_1 ... done
Erneut können Sie mit docker ps überprüfen, ob der web-Container läuft.
docker ps
Sie sollten den Container my-compose-app_web_1 mit dem Status Up sehen.
Dies zeigt, wie Sie selektiv Services aus Ihrer docker-compose.yml-Datei starten können, was bei der Verwaltung komplexerer Multi-Service-Anwendungen hilfreich ist.