Heim Betrieb und Instandhaltung Docker Konzentrieren Sie sich auf die Verwendung verschiedener Verzeichnisse im Docker-Dienst

Konzentrieren Sie sich auf die Verwendung verschiedener Verzeichnisse im Docker-Dienst

Apr 19, 2023 pm 03:26 PM

Docker ist eine sehr beliebte Containerisierungstechnologie, mit der Anwendungen schnell und effizient erstellt, bereitgestellt und ausgeführt werden können. Docker Service ist einer der am häufigsten verwendeten Mechanismen für die Docker-Clusterverwaltung. Mithilfe des Docker-Dienstes können Benutzer mehrere Docker-Container zu einem Dienst kombinieren, um hohe Verfügbarkeit, Lastausgleich und andere Zwecke zu erreichen. Dieser Artikel konzentriert sich auf die Verwendung verschiedener Verzeichnisse im Docker Service.

Was ist Docker-Service?

Der Docker-Dienst ist einer der Mechanismen für die Docker-Cluster-Verwaltung. Er kann mehrere Docker-Container in einem Dienst kombinieren. Docker Service implementiert Funktionen wie Hochverfügbarkeit, Lastausgleich und automatische Erweiterung, die Benutzern bei der Optimierung von Diensten und Anwendungen helfen können.

Docker Service unterstützt verschiedene Bereitstellungsstrategien, z. B. Replikat und Global. Bei Verwendung der Replikatrichtlinie können Benutzer die Anzahl der zu startenden Container definieren, und Docker Engine stellt automatisch Containerinstanzen im gesamten Cluster bereit und verwaltet sie. Bei Verwendung der globalen Strategie startet Docker Engine eine Kopie des Containers und stellt sie auf jedem Knoten im Cluster bereit.

Vorteile der Verwendung des Docker-Dienstes

Die Verwendung des Docker-Dienstes kann viele Vorteile mit sich bringen, hier sind einige der wichtigsten:

  • Hohe Verfügbarkeit: Der Docker-Dienst kann problemlos eine hohe Verfügbarkeit von Containern erreichen, selbst wenn ein Knoten ausfällt. Dies ist auch automatisch möglich Starten Sie neue Containerinstanzen auf anderen Knoten über die automatische Ausgleichsfunktion des Containers.
  • Lastausgleich: Mithilfe des Docker-Dienstes kann problemlos ein Lastausgleich erreicht werden, sodass die Anwendung des Benutzers immer im besten Zustand ist, ohne auf Lastausgleichsprobleme achten zu müssen.
  • Automatische Erweiterung: Docker Service unterstützt die automatische Erweiterung. Benutzer müssen nur die Anzahl der Container anpassen, um eine Anwendungserweiterung zu erreichen.

Wie verwendet Docker Service unterschiedliche Verzeichnisse?

Docker Service verwendet standardmäßig das Verzeichnis, in dem sich die Docker-Datei befindet, als Build-Kontext des Container-Images. Wenn wir jedoch unterschiedliche Images in unterschiedlichen Verzeichnissen erstellen müssen, müssen wir unterschiedliche Build-Kontexte verwenden.

Im Folgenden wird erläutert, wie Sie verschiedene Verzeichnisse zum Erstellen von Docker-Images verwenden und den Docker-Dienst zum Bereitstellen von Anwendungen verwenden.

  1. Erstellen Sie die Verzeichnisstruktur

Zuerst erstellen wir die folgende Verzeichnisstruktur:

.
├── dockerfiles
│   ├── web1
│   │   ├── Dockerfile
│   │   └── index.html
│   └── web2
│       ├── Dockerfile
│       └── index.html
├── docker-compose.yml
└── services.yml
Nach dem Login kopieren

Im Dockerfiles-Verzeichnis haben wir zwei Verzeichnisse erstellt, web1 bzw. web2. Jedes Verzeichnis enthält eine Dockerfile-Datei und eine index.html-Datei. Unter anderem wird die Dockerfile-Datei zum Erstellen des Docker-Images verwendet, und die Datei index.html wird zum Testen verwendet, ob der Container normal ausgeführt wird.

In der Datei „services.yml“ definieren wir einen Dienst namens „web“ für die Bereitstellung von zwei Containern, „web1“ und „web2“.

  1. Docker-Dateien schreiben

In unserem Beispiel haben wir jeweils eine Docker-Datei für web1 und web2 erstellt. Sie lauten wie folgt:

Dockerfile-Datei im Web1-Verzeichnis:

FROM nginx
COPY index.html /usr/share/nginx/html
Nach dem Login kopieren

Dockerfile-Datei im Web2-Verzeichnis:

FROM nginx
WORKDIR /usr/share/nginx/html
COPY index.html .
Nach dem Login kopieren

Hier verwenden wir verschiedene Dockerfile-Dateien und verwenden in jeder Datei unterschiedliche Build-Kontexte. Die Docker-Datei von web1 verwendet die COPY-Direktive, die die Datei index.html aus dem angegebenen Build-Kontext in den Container kopiert. Die web2-Dockerdatei verwendet die Anweisung WORKDIR und die Anweisung COPY, die das Arbeitsverzeichnis auf /usr/share/nginx/html setzt und die Datei index.html aus dem Build-Kontext in den Container kopiert.

  1. Schreiben der Datei „docker-compose.yml“

Wir verwenden weiterhin die Datei „docker-compose.yml“, um unsere Dienste zu definieren. Der Inhalt der Datei lautet wie folgt:

version: '3.7'

services:
  web1:
    build:
      context: ./dockerfiles/web1
    image: web1
    deploy:
      replicas: 2
    ports:
      - 8081:80

  web2:
    build:
      context: ./dockerfiles/web2
    image: web2
    deploy:
      replicas: 3
    ports:
      - 8082:80
Nach dem Login kopieren

In der Datei docker-compose.yml definieren wir zwei Dienste: web1 und web2, die jeweils unterschiedliche Build-Kontexte verwenden. Gleichzeitig geben wir auch die Replikat- und Portattribute jedes Dienstes an, um die Anzahl der Container und die Portzuordnung zu steuern.

  1. Stellen Sie den Dienst bereit

Abschließend verwenden wir den Docker Stack-Befehl, um den Dienst bereitzustellen:

$ docker stack deploy -c services.yml myapp
Nach dem Login kopieren

Nachdem die Befehlsausführung abgeschlossen ist, können wir den folgenden Befehl verwenden, um den Status des Dienstes anzuzeigen:

$ docker stack ps myapp
Nach dem Login kopieren
  1. Testen Sie den Dienst

Nach Abschluss der Dienstbereitstellung können wir über den Browser auf die folgenden URLs zugreifen, um zu testen, ob die Dienste web1 und web2 ordnungsgemäß funktionieren:

web1-Dienst:

http://localhost:8081
Nach dem Login kopieren

web2-Dienst:

http://localhost:8082
Nach dem Login kopieren

Wenn Alles ist in Ordnung, wir sehen die index.html für den Inhalt jeder Dienstdatei.

Zusammenfassung

In diesem Artikel haben wir vorgestellt, wie man verschiedene Verzeichnisse für die Containererstellung im Docker Service verwendet. Wir haben zwei Dienste mit unterschiedlichen Docker-Dateien erstellt und den Build-Kontext der Dienste in der Datei docker-compose.yml definiert. Schließlich haben wir den Dienst bereitgestellt und getestet, ob der Dienst ordnungsgemäß ausgeführt wurde. Dies bietet Benutzern, die den Docker-Dienst verwenden, eine bequeme Möglichkeit, Container-Images in verschiedenen Verzeichnissen zu erstellen.

Das obige ist der detaillierte Inhalt vonKonzentrieren Sie sich auf die Verwendung verschiedener Verzeichnisse im Docker-Dienst. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Fragen zum Docker -Interview: Ace Ihr DevOps Engineering Interview Fragen zum Docker -Interview: Ace Ihr DevOps Engineering Interview Apr 06, 2025 am 12:01 AM

Docker ist ein Muss für DevOps-Ingenieure. 1.Docker ist eine Open -Source -Containerplattform, die Isolation und Portabilität durch Verpackung von Anwendungen und deren Abhängigkeiten in Container erreicht. 2. Docker arbeitet mit Namespaces, Kontrollgruppen und föderierten Dateisystemen. 3. Die grundlegende Nutzung beinhaltet das Erstellen, Ausführen und Verwalten von Containern. 4. Erweiterte Verwendung umfasst die Verwendung von DockerComponpose zur Verwaltung von Anwendungen mit mehreren Konten. 5. Zu den häufigen Fehlern gehören Containerausfall, Port -Mapping -Probleme und Datenpersistenzprobleme. Zu den Debugging -Fähigkeiten gehören das Anzeigen von Protokollen, das Eingeben von Containern und das Anzeigen detaillierter Informationen. 6. Leistungsoptimierung und Best Practices umfassen Bildoptimierung, Ressourcenbeschränkungen, Netzwerkoptimierung und Best Practices für die Verwendung von DockerFile.

Docker -Bände: Verwalten anhaltender Daten in Containern Docker -Bände: Verwalten anhaltender Daten in Containern Apr 04, 2025 am 12:19 AM

Dockervolumes stellt sicher, dass Daten sicher bleiben, wenn Container neu gestartet, gelöscht oder migriert werden. 1. Erstellen Sie Volumen: DockervolumecreatemyData. 2. Führen Sie den Container- und Mount-Volumen aus: Dockerrun-it-vmydata:/App/DataUbuntubash. 3. Die erweiterte Nutzung umfasst Datenaustausch und Backup.

Härtung der Docker -Sicherheit: Schutz Ihrer Container vor Schwachstellen Härtung der Docker -Sicherheit: Schutz Ihrer Container vor Schwachstellen Apr 05, 2025 am 12:08 AM

Zu den Methoden zur Verbesserung der Docker Security Enhancement gehören: 1. Verwenden Sie den Parameter-Cap-Drop, um Linux-Funktionen zu begrenzen. Diese Strategien schützen Container, indem sie die Exposition gegenüber der Verwundbarkeit reduzieren und die Fähigkeiten des Angreifers einschränken.

Verwenden von Docker mit Linux: eine umfassende Anleitung Verwenden von Docker mit Linux: eine umfassende Anleitung Apr 12, 2025 am 12:07 AM

Die Verwendung von Docker unter Linux kann die Entwicklung und die Bereitstellungseffizienz verbessern. 1. Installieren Sie Docker: Verwenden Sie Skripte, um Docker auf Ubuntu zu installieren. 2. Überprüfen Sie die Installation: Führen Sie die Sudodockerrunhello-Welt aus. 3. Basisnutzung: Erstellen Sie einen Nginx-Container-Dockerrun-Namemy-Nginx-P8080: 80-DNGinx. 4. Erweiterte Verwendung: Erstellen Sie ein benutzerdefiniertes Bild, erstellen und führen Sie mit Dockerfile aus. 5. Optimierung und Best Practices: Befolgen Sie Best Practices zum Schreiben von Dockerfiles mit mehrstufigen Builds und DockerComponpose.

Erweiterte Docker -Netzwerk: Mastering Bridge, Host & Overlay Networks Erweiterte Docker -Netzwerk: Mastering Bridge, Host & Overlay Networks Apr 03, 2025 am 12:06 AM

Docker bietet drei Hauptnetzwerkmodi: Bridge Network, Host Network und Overlay Network. 1. Das Brückennetz ist für eine Intercontainer-Kommunikation auf einem einzelnen Host geeignet und wird über eine virtuelle Brücke implementiert. 2. Das Host-Netzwerk eignet sich für Szenarien, in denen Hochleistungsnetzwerke erforderlich sind, und der Container verwendet direkt den Netzwerkstapel des Hosts. 3. Das Overlay-Netzwerk eignet sich für Multi-Host-Docker-Warm-Cluster, und die Cross-Host-Kommunikation wird durch die virtuelle Netzwerkschicht realisiert.

So erstellen Sie einen Spiegel in Docker So erstellen Sie einen Spiegel in Docker Apr 15, 2025 am 11:27 AM

Schritte zum Erstellen eines Docker -Images: Schreiben Sie eine Dockerfile, die die Build -Anweisungen enthält. Erstellen Sie das Bild im Terminal mit dem Befehl Docker Build. Markieren Sie das Bild und weisen Sie Namen und Tags mit dem Befehl Docker Tag zu.

So aktualisieren Sie das Bild von Docker So aktualisieren Sie das Bild von Docker Apr 15, 2025 pm 12:03 PM

Die Schritte zur Aktualisierung eines Docker -Images sind wie folgt: Ziehen Sie das neueste Bild -Tag. Neues Bild Löschen Sie das alte Bild für ein bestimmtes Tag (optional) den Container neu (falls erforderlich) neu starten Sie neu (falls erforderlich).

Docker Swarm: bauen skalierbare und belastbare Behältercluster Docker Swarm: bauen skalierbare und belastbare Behältercluster Apr 09, 2025 am 12:11 AM

Dockerswarm kann verwendet werden, um skalierbare und hoch verfügbare Containercluster zu erstellen. 1) Initialisieren Sie den Schwarmcluster mithilfe von Dockerswarminit. 2) Schließen Sie sich dem Swarm-Cluster an, um Dockerswarmjoin zu verwenden-gesprochen:. 3) Erstellen Sie einen Dienst mit DockerServicecreate-Namemy-Nginx-Replicas3nginx. 4) Bereitstellen komplexer Dienste mit DockStackdeploy-Cdocker-compose.ymlmyApp.

See all articles