Heim >Betrieb und Instandhaltung >Docker >Wie verwalte ich Dienste in Docker Swarm?
Das Verwalten von Diensten in Docker Swarm umfasst eine Reihe von Aufgaben wie das Erstellen, Skalieren, Aktualisierungs- und Überwachungsdiensten. Hier sind einige wichtige Schritte und Befehle:
Erstellen eines Dienstes: Verwenden Sie zum Erstellen eines Dienstes den Befehl docker service create
. Um beispielsweise einen Dienst zu erstellen, der einen Nginx -Container ausführt, würden Sie verwenden:
<code class="bash">docker service create --name my-nginx --replicas 3 nginx</code>
Dieser Befehl erstellt einen Dienst mit dem Namen "my-nginx" mit 3 Replikaten.
Auflistungsdienste: Um alle Dienste anzuzeigen, verwenden Sie:
<code class="bash">docker service ls</code>
Dieser Befehl listet alle Dienste im Schwarm auf.
Untersuchung eines Dienstes: Verwenden Sie: Um detaillierte Informationen über einen Service zu erhalten, verwenden Sie:
<code class="bash">docker service inspect --pretty my-nginx</code>
Dieser Befehl enthält detaillierte Informationen zum Dienst mit dem Namen "My-Nginx".
Entfernen eines Dienstes: Wenn Sie einen Dienst entfernen müssen, verwenden Sie:
<code class="bash">docker service rm my-nginx</code>
Dieser Befehl entfernt den Dienst mit dem Namen "my-nginx".
Aktualisieren eines Dienstes: Aktualisierung eines Dienstes (z. B. die Anzahl der Replikate ändern), verwenden Sie:
<code class="bash">docker service update --replicas 5 my-nginx</code>
Dieser Befehl aktualisiert den Dienst 'my-nginx', um mit 5 Replikaten auszuführen.
Die Skalierungsdienste in Docker Swarm sind entscheidend für die Anpassung der Anzahl der Repliken eines Dienstes entsprechend der Nachfrage. Verwenden Sie den Befehl docker service scale
, um einen Dienst zu skalieren. Um den "my-nginx" -Dienst beispielsweise auf 5 Replikate zu skalieren, würden Sie verwenden:
<code class="bash">docker service scale my-nginx=5</code>
Dieser Befehl ändert die Anzahl der Repliken für den "my-nginx" -Dienst in 5. Zusätzlich können Sie den Befehl docker service update
auch verwenden, um einen Dienst zu skalieren, wie bereits erwähnt:
<code class="bash">docker service update --replicas 5 my-nginx</code>
Beide Befehle erzielen das gleiche Ergebnis, aber docker service scale
ist speziell für die Skalierung entwickelt, während docker service update
eine breitere Reihe von Aktualisierungen verarbeiten kann.
Durch die Überwachung der Gesundheit der Dienstleistungen im Docker Swarm wird sichergestellt, dass sie korrekt laufen. Hier sind verschiedene Möglichkeiten, dies zu tun:
Docker -Service -Protokolle: Sie können die Protokolle eines Dienstes mit:
<code class="bash">docker service logs my-nginx</code>
Dieser Befehl ruft die Protokolle für den "my-nginx" -Dienst ab, der dazu beitragen kann, Probleme zu identifizieren.
Docker Service PS: Um die laufenden Aufgaben für einen Dienst zu sehen, verwenden Sie:
<code class="bash">docker service ps my-nginx</code>
Dieser Befehl zeigt den aktuellen Status der Aufgaben, die mit dem "my-nginx" -Dienst verbunden sind.
Docker Service Inspect: Wie bereits erwähnt, kann dieser Befehl detaillierte Informationen zu einem Dienst liefern, einschließlich Gesundheitszustand:
<code class="bash">docker service inspect --pretty my-nginx</code>
Gesundheitsprüfungen in der Servicedefinition: Sie können Gesundheitsprüfungen in der Servicedefinition definieren. Zum Beispiel:
<code class="bash">docker service create --name my-nginx --health-cmd "curl -f http://localhost/" --health-interval 10s --health-retries 3 nginx</code>
Dieser Befehl schafft einen Service mit einer Gesundheitsprüfung, die den Container alle 10 Sekunden annimmt und den Container nach drei fehlgeschlagenen Versuchen ungesund berücksichtigt.
Die Aktualisierung eines Dienstes in Docker Swarm ohne Ausfallzeiten beinhaltet einen Rolling -Update -Prozess. Hier sind die Schritte, um dies zu erreichen:
Initiieren Sie das Rolling-Update: Verwenden Sie den Befehl docker service update
mit den Flags --update-parallelism
und --update-delay
um den Rolling-Update-Prozess zu steuern. Zum Beispiel, um 'my-nginx' mit einem neuen Bild ohne Ausfallzeiten zu aktualisieren:
<code class="bash">docker service update --image nginx:latest --update-parallelism 1 --update-delay 10s my-nginx</code>
Dieser Befehl aktualisiert den "my-nginx" -Dienst im neuesten NGINX-Bild und setzt das Update für eine Aufgabe jeweils mit einer Verzögerung von 10 Sekunden zwischen jedem Aufgabenaktualisierung ein.
Überwachen Sie das Update: Verwenden Sie den Befehl docker service ps
um den Status der Aufgaben zu überwachen, während sie aktualisiert werden:
<code class="bash">docker service ps my-nginx</code>
Dieser Befehl hilft Ihnen, zu verfolgen, welche Aufgaben aktualisiert wurden und welche immer noch die alte Version ausführen.
Überprüfen Sie das Update: Verwenden Sie nach Abschluss des Updates docker service logs
und docker service inspect
um sicherzustellen, dass der Dienst wie erwartet ausgeführt wird:
<code class="bash">docker service logs my-nginx docker service inspect --pretty my-nginx</code>
Wenn Sie diese Schritte befolgen und die entsprechenden Befehle mit den richtigen Optionen verwenden, können Sie sicherstellen, dass Ihre Dienste ohne Ausfallzeiten in Docker Swarm aktualisiert werden.
Das obige ist der detaillierte Inhalt vonWie verwalte ich Dienste in Docker Swarm?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!