Docker Compose-Übung und Zusammenfassung

Docker Compose-Übung und Zusammenfassung

Docker Compose kann die Orchestrierung von Docker-Containerclustern realisieren. Wir können unsere Dienste und ihre erforderlichen Abhängigkeiten über die Datei docker-compose.yml definieren und sie problemlos in Test-, Produktions- und anderen Umgebungen ausführen.

dokumentieren

Produkthandbücher

Referenz zur Compose-Dateiversion 3

Docker von den ersten Schritten bis zur Praxis [Chinesisch]

Compose installieren

Compose basiert auf der Docker Engine. Sie müssen daher sicherstellen, dass Docker in Ihrer Umgebung installiert ist. Sie können das offizielle Tutorial zu Rate ziehen, das im Wesentlichen in zwei Schritte unterteilt ist:

# 1. Laden Sie Compose herunter und führen Sie nur die Datei im Verzeichnis usr/local/bin/ aus. # Wenn der Download fehlschlägt, finden Sie in der nächsten Zusammenfassung die Adresse für die Installation. sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 2. Fügen Sie der ausführbaren Datei Compose Ausführungsberechtigungen hinzu sudo chmod +x /usr/local/bin/docker-compose

# Geben Sie den folgenden Befehl ein, um die Hilfe anzuzeigen und zu testen, ob die Installation erfolgreich ist: docker-compose -h

Compose ist Open Source im offiziellen GitHub-Repository von Docker: docker/compose. Alle Compose-Dateien werden in den Releases des Repositorys veröffentlicht. Schritt 1 besteht darin, mit dem Befehl curl die ausführbare Datei aus den Releases herunterzuladen. uname -s und uname -m können den Kernelnamen und die Hardwarearchitektur des Systems lesen, um sie mit der erforderlichen Compose-Version abzugleichen. Der Parameter -L von curl bewirkt, dass die HTTP-Anforderung Weiterleitungen folgt (standardmäßig nicht), und -o (kleines o) speichert die Serverantwort als Datei und lädt sie direkt nach usr/local/bin/ herunter. Der Dateiname lautet: docker-compose. Da sich dieser Pfad bereits in der Umgebungsvariable befindet, können Sie ihn nach Abschluss von Schritt 2 und Hinzufügen der ausführbaren Berechtigungen überall verwenden.

Das direkte Herunterladen von GitHub ist langsam. Sie können es von der folgenden Adresse herunterladen:

# https://vuepress.mirror.docker-practice.com/compose/install/
sudo curl -L https://download.fastgit.org/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

Erste Schritte

Die Vorlagenanweisungen von Compose ähneln sehr den Parametern, die sich auf den Run-Befehl von Docker beziehen. Wenn Sie den Docker-Befehl vergessen, können Sie auf den vorherigen Blog verweisen: Docker-Übung und Befehlsübersicht

In Compose gibt es zwei wichtige Konzepte:

  • Service: Ein Container für eine Anwendung, der tatsächlich mehrere Containerinstanzen enthalten kann, auf denen dasselbe Image ausgeführt wird
  • Projekt: Eine vollständige Geschäftseinheit, die aus einer Reihe verwandter Anwendungscontainer besteht, die in der Datei docker-compose.yml definiert sind

Das Format von docker-compose.yml ist wie folgt. Hinweis: YAML-Dateien müssen nach dem Schlüsselwert : Einrückungen zeigen die Hierarchie an. Beachten Sie, dass die in Einrückungen verwendeten Volumes und Netzwerke deklariert werden müssen.

#Version angeben: "3"
# Sammlung von Serviceleistungen:
  # Einer der Dienste, Dienstname: webapp
  Webanwendung:
    # Geben Sie das vom Dienst verwendete Bild an: examples/web
    # Portzuordnungsports:
      - "80:80"
    # Datenvolumen:
      - "/Daten"

Einfach zu bedienen

Starten Sie Tomcat, MySQL und Redis in einem Compose und erstellen Sie docker-compose.yml

Version: "3.0"

Leistungen:
  Kater:
    Containername: mytomcat # --name
    Bild: tomcat:8.0-jre8
    Häfen:
      - „8080:8080“
    Bände:
      – „tomcatwebapps:/usr/local/tomcat/webapps“
    Netzwerke:
      -ein_Netzwerk
    # Der Tomcat-Dienst ist abhängig von MySQL und Redis
    hängt ab von:
      -mysql
      - Redis
  MySQL:
    Containername: MySQL
    Bild:mysql:5.7.32
    Häfen:
      - „3306:3306“
    Bände:
      - "mysqldata:/var/lib/mysql"
      - "mysqlconf:/etc/mysql"
    Umfeld:
      -MYSQL_ROOT_PASSWORD=1234
    Netzwerke:
      irgendein_netzwerk:
  Redis:
    Containername: Redis
    Bild: redis:5.0.10
    Häfen:
      - „6379:6379“
    Bände:
      – „redisdata:/Daten“
    Befehl: „redis-server --appendonly yes“
    Netzwerke:
      irgendein_netzwerk:

# Die verwendeten Datenträger und Netzwerke müssen Datenträger deklarieren:
  Tomcat-Web-Apps: 
  MySQL-Daten:
  mysqlconf:
  Redisdaten: 

Netzwerke:
  # Deklarieren Sie ein Netzwerk mit dem Namen „some_network“:

Führen Sie docker-compose up im Pfad aus, in dem sich docker-compose.yml befindet, um das Compose-Projekt zu starten. Es lädt die verwendeten Bilder herunter und führt das Protokoll im Vordergrund aus. Sie können es mit Strg + C beenden.

Wenn Sie docker-compose up -d im Hintergrund ausführen müssen, können Sie docker ps verwenden, um zu sehen, dass Compose zugehörige Container auf Basis von YAML erstellt hat. Verwenden Sie docker-compose down um Compose zu stoppen und die automatisch erstellte Brücke zu entfernen.

Verwenden Sie docker network ls um das Netzwerk anzuzeigen, oder docker volume ls um das Datenvolumen anzuzeigen. Das von Compose definierte Namensformat des Netzwerks oder Datenvolumens lautet: der Name des Ordners, in dem sich docker-compose.yml befindet, plus ein Unterstrich plus der in YAML definierte Name. Wenn Sie eine YAML-Datei im Ordner „Dockerfile“ erstellen und starten, lautet der Netzwerkname: dockerfile_some_network

Der Tomcat-Dienst verwendet depends_on , was darauf hinweist, dass er von den Diensten redis und mysql abhängig ist. Compose startet zuerst seine Abhängigkeiten und startet es dann.

Befehlssortierung

Die Befehle von Docker Compose ähneln denen von Docker. Über den Parameter --help lässt sich die Verwendung des entsprechenden Befehls abfragen.

docker-compose --Hilfe

Die Standard-Startvorlagendatei heißt docker-compose.yml. Sie können -f verwenden, um eine benutzerdefinierte Vorlagendatei anzugeben. Mit dem Befehl config können Sie überprüfen, ob die Syntax der Vorlagendatei korrekt ist.

docker-compse enthält auch viele Unterbefehle:
Start- und Stoppbezogen: hoch, runter, neu starten, stoppen, pausieren, fortsetzen

Verwandte Ressourcen: ps, top, kill, run

Geben Sie den Container ein: exec

Protokolle anzeigen: Protokolle

Auf viele Unterbefehle kann für gezielte Operationen ein bestimmter Dienstname folgen. Die folgenden sind nicht einzeln aufgeführt.
Sie können docker-compose help gefolgt vom Namen des Unterbefehls verwenden, um dessen Verwendung abzufragen.

# Starten Sie alle in YAML definierten Container im Hintergrund docker-compose up -d
#Wenn nur der MySQL-Dienst gestartet wird, werden auch die abhängigen Dienste gestartet
docker-compose up mysql gibt den zu startenden Servernamen an.
# Stoppen Sie den Container und entfernen Sie die automatisch erstellte Bridge docker-compose down 
# Starten Sie alle Dienste neu und geben Sie dann einen bestimmten Dienst an
Docker-Compose-Neustart

# Docker-Compose-Pause anhalten und fortsetzen
Docker-Compose Pause fortsetzen

# Rufen Sie den Redis-Dienst auf und beenden Sie docker-compose exec redis bash

# Listet die Informationen des Containers auf, der im aktuellen YAML-Docker-Compose-PS definiert ist

# Löschen Sie den im aktuellen YAML definierten Container. Sie müssen ihn zuerst stoppen und dann einen bestimmten Dienst angeben
Docker-Compose RM

# Zeigen Sie die in jedem Servicecontainer ausgeführten Prozesse an docker-compose top

# Standardmäßig Protokolle anzeigen. Alle YAML-Dateien anzeigen. Sie können dem jeweiligen Dienst folgen.
# -f kann weiter verfolgt werden, neue Protokolle werden sofort auf dem Bildschirm angezeigt docker-compose logs

Verweise

Curl-Nutzungshandbuch [Programming Bad People] Docker-Container-Technologie und Docker-Compose-Praxis

Dies ist das Ende dieses Artikels über Docker Compose-Übungen und -Zusammenfassungen. Weitere relevante Inhalte zu Docker Compose-Übungen finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Docker-Compose-Tutorial: Installation und Schnellstart
  • Docker Compose stellt ein SpringBoot-Projekt bereit, um eine Verbindung zu MySQL herzustellen, und die dabei auftretenden Fallstricke
  • Lösen Sie das Problem der Containerverwaltung mit Docker Compose
  • Installations- und Verwendungsschritte für Docker Compose
  • Implementierung der ELK-Bereitstellungsmethode mit einem Klick in Docker Compose
  • Detaillierter Prozess für den Einstieg mit Docker Compose HelloWorld

<<:  Die Aktualisierungsseite für die Formularübermittlung springt nicht zum Quellcodedesign

>>:  Detaillierte Erklärung der MySQL information_schema-Datenbank

Artikel empfehlen

Confluence mit Docker bereitstellen

1. Umweltanforderungen 1. Docker 17 und höher wur...

Acht Beispiele, wie Vue Komponentenkommunikation implementiert

Inhaltsverzeichnis 1. Props übergeordnete Kompone...

Führt das Laden von CSS zu einer Blockierung?

Vielleicht weiß jeder, dass die JS-Ausführung die...

Vue/React-Einzelseitenanwendung zurück ohne Aktualisierungslösung

Inhaltsverzeichnis Einführung Warum die Mühe? Com...

Über Zabbix Admin-Login vergessen Passwort zurücksetzen

Das Problem beim Zurücksetzen des Passworts für d...

Führen Sie die Schritte zur Installation von MySQL 5.5 auf CentOS aus

Inhaltsverzeichnis 1. Vorbereitung vor der Instal...

Dieser Artikel hilft Ihnen, den Lebenszyklus in Vue zu verstehen

Inhaltsverzeichnis 1. vorErstellen & erstellt...

Installation und Bereitstellung des MySQL Routers

Inhaltsverzeichnis 01 Einführung in MySQL Router ...

JavaScript-Grundlagenvariablen

Inhaltsverzeichnis 1. Variablenübersicht 1.1 Spei...

So installieren und deinstallieren Sie open-vswitch unter Linux

1. Kompilieren und installieren Sie OVS aus dem Q...

Tutorial zur Bereitstellung und Installation von MySQL 8.0.18 unter Windows 7

1. Vorbereitende Schritte (Windows 7 + MySQL-8.0....

W3C Tutorial (4): W3C XHTML Aktivitäten

HTML ist eine Hybridsprache, die zum Veröffentlic...