1. EinleitungDocker verfügt über ein Orchestrierungstool namens Docker-Compose, das mehrere Docker-Container, aus denen eine Aufgabe besteht, orchestrieren und verwalten kann. In ähnlicher Weise können Sie in einem Swarm-Cluster Docker Stack verwenden, um eine Gruppe verwandter Dienste zu orchestrieren und zu verwalten. Der Docker-Stack ist ebenfalls eine YAML-Datei, ähnlich einer Docker-Compose.yml-Datei, und die Anweisungen sind grundsätzlich dieselben. Im Vergleich zu Compose unterstützt es jedoch weder Build, Links noch Netzwerkmodus. Docker Stack verfügt über einen neuen Befehl „Deploy“. Hinweis: Der Stapel unterstützt keine Anweisungen 2. BereitstellenMit „Deploy“ wird die Konfiguration im Zusammenhang mit der Bereitstellung und Laufzeit von Swarm-Diensten angegeben. Die Konfiguration wird nur wirksam, wenn der Swarm-Cluster mithilfe von Docker Stack Deploy bereitgestellt wird. Diese Option wird bei Verwendung von „docker-compose up“ oder „docker-compose run“ ignoriert. Um die Bereitstellungsoption zu verwenden, muss die Version in der Compose-Datei 3 oder 3+ sein. Version: '3' Leistungen: Redis: Bild: redis:alpine einsetzen: Replikate: 6 Konfiguration aktualisieren: Parallelität: 2 Verzögerung: 10s Neustartrichtlinie: Bedingung: bei Fehler (1) ENDPOINT_MODE Geben Sie den Swarm-Service-Erkennungsmodus an
Die DNS-Round-Robin-Diensterkennung (DNSRR) verwendet keine einzelne virtuelle IP. Docker richtet DNS-Einträge für Dienste ein, sodass eine DNS-Abfrage für den Dienstnamen eine Liste von IP-Adressen zurückgibt und Clients eine direkte Verbindung zu einer dieser Adressen herstellen. DNS-Round-Robin ist nützlich, wenn Sie Ihren eigenen Load Balancer verwenden möchten oder wenn Sie eine Mischung aus Windows- und Linux-Anwendungen haben. Hinweis: Version 3.3+ Version: "3.3" Leistungen: Wordpress: Bild: WordPress Häfen: -8080:80 Netzwerke: - Überlagerung einsetzen: Modus: repliziert Replikate: 2 Endpunktmodus: VIP MySQL: Bild: MySQL Bände: -db-data:/var/lib/mysql/data Netzwerke: - Überlagerung einsetzen: Modus: repliziert Replikate: 2 Endpunktmodus: DNSRR Bände: DB-Daten: Netzwerke: Überlagerung: (2) Etiketten Gibt die Bezeichnung des Dienstes an. Diese Bezeichnungen werden nur für den Dienst festgelegt, nicht für die Container des Dienstes. Version: "3" Leistungen: Webseite: Bild: Web einsetzen: Beschriftungen: com.example.description: „Dieses Label wird im Webservice erscheinen“ Um stattdessen Beschriftungen für den Container festzulegen, verwenden Sie den Schlüssel „Labels“ außerhalb der Bereitstellung. Version: "3" Leistungen: Webseite: Bild: Web Beschriftungen: com.example.description: „Dieses Label erscheint auf allen Containern für den Webservice“ (3) MODUS Global (nur ein Container pro Clusterknoten) oder Replikate (geben Sie die Anzahl der Container an). Der Standardwert wird kopiert. Version: '3' Leistungen: Arbeitnehmer: Bild: dockersamples/examplevotingapp_worker einsetzen: Modus: global (4) Platzierung Festlegen von Einschränkungen und Voreinstellungen Version: '3' Leistungen: db: Bild: postgres einsetzen: Platzierung: Einschränkungen: - node.role == Manager -engine.labels.operatingsystem==ubuntu 14.04 Einstellungen: - Verbreitung: node.labels.zone (5) REPLIKATE Wenn sich der Dienst im Replikationsmodus (Standard) befindet, können Sie die Anzahl der Container angeben, die für den Dienst ausgeführt werden sollen. Version: '3' Leistungen: Arbeitnehmer: Bild: dockersamples/examplevotingapp_worker Netzwerke: -Frontend - Backend einsetzen: Modus: repliziert Replikate: 6 (6) RESSOURCEN Konfiguration des Ressourcenlimits Version: '3' Leistungen: Redis: Bild: redis:alpine einsetzen: Ressourcen: Grenzen: CPUs: „0,50“ Speicher: 50M Reservierungen: CPUs: „0,25“ Speicher: 20M Im folgenden Beispiel ist der Redis-Dienst auf die Nutzung von nicht mehr als 50 MB Speicher und 0,50 (50 %) der verfügbaren Verarbeitungszeit (CPU) beschränkt und verfügt über 20 MB Speicher und 0,25 der CPU-Zeit (immer verfügbar). (7) RESTART_POLICY Konfigurieren Sie, ob und wie der Container nach dem Beenden neu gestartet werden soll. Ersetzt den Neustartbefehl.
Version: "3" Leistungen: Redis: Bild: redis:alpine einsetzen: Neustartrichtlinie: Bedingung: bei Fehler Verzögerung: 5s Max_Versuche: 3 Fenster: 120s (8) UPDATE_CONFIG So aktualisieren Sie den Konfigurationsdienst
Version: '3.4' Leistungen: Abstimmung: Bild: dockersamples/examplevotingapp_vote:before hängt ab von: - Redis einsetzen: Replikate: 2 Konfiguration aktualisieren: Parallelität: 2 Verzögerung: 10s Reihenfolge: Stopp zuerst (9) hängt davon ab Stellt Abhängigkeiten zwischen Diensten dar Version: '3' Leistungen: Webseite: bauen: . hängt ab von: -db - Redis Redis: Bild: Redis db: Bild: postgres (10) DNS Benutzerdefinierte DNS-Server. Kann ein einzelner Wert oder eine Liste sein. DNS: 8.8.8.8 DNS: - 8.8.8.8 - 9.9.9.9 (11) DNS-Suche dns_search: beispiel.com DNS-Suche: - dc1.example.com - dc2.example.com (12) Umwelt Umgebungsvariablen hinzufügen. Sie können ein Array oder ein Wörterbuch verwenden. Alle Booleschen Werte (true/false, yes/no) müssen in Anführungszeichen gesetzt werden, um sicherzustellen, dass sie vom YML-Parser nicht in „True“ oder „False“ umgewandelt werden. Umfeld: RACK_ENV: Entwicklung ANZEIGEN: 'wahr' SESSION_SECRET: Umfeld: - RACK_ENV=Entwicklung - SHOW=true -SESSION_SECRET (13) aussetzen Durch das Öffnen von Ports in Containern werden die Ports auf dem Host nicht freigegeben. Sie sind nur für die zugehörigen Dienste zugänglich. Es können nur interne Ports angegeben werden. exponieren: - "3000" - "8000" Oben finden Sie den detaillierten Inhalt des Docker Swarm-Dienstorchestrierungsbefehls. Weitere Informationen zur Docker Swarm-Dienstorchestrierung finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Zusammenfassung des Wissens zu langsamen MySQL-Protokollen
>>: Erfahrungen bei der Neugestaltung der Homepage von TOM.COM
In diesem Artikel wird der spezifische Code des W...
Ich glaube, dass jeder MySQL aus verschiedenen Gr...
In diesem Artikel wird der spezifische JavaScript...
In diesem Artikel wird der Vorgang zum Herunterfa...
Weiterführende Literatur: Beheben Sie das Problem...
Der Grund für die heutige Beliebtheit von Docker ...
Installationseinführung unter Windows: Schauen Si...
1. Docker zieht das Image Docker Pull MySQL (stan...
Wenn Sie CSS-Pseudoelemente zur Steuerung von Ele...
Der erste Schritt besteht darin, das komprimierte...
Voraussetzung ist die Eingabe der Bewertungsdaten...
Inhaltsverzeichnis Vorwort: erreichen: Zusammenfa...
Dieser Artikel stellt hauptsächlich die binären O...
Speicherregeln für varchar In Versionen unter 4.0...
Inhaltsverzeichnis 1. Konstrukteure und Prototype...