So installieren und konfigurieren Sie das Orchestrierungstool Docker Compose in Docker.v19

So installieren und konfigurieren Sie das Orchestrierungstool Docker Compose in Docker.v19

1. Einführung in Compose

Compose ist ein Tool zum Definieren und Ausführen von Docker-Anwendungen mit mehreren Containern. Mit Compose können Sie YAML-Dateien verwenden, um die Dienste Ihrer Anwendung zu konfigurieren. Anschließend können Sie mit einem einzigen Befehl alle Dienste aus der Konfiguration erstellen und starten.

Docker-Compose ist ein Container-Orchestrierungstool. Über eine .yml- oder .yaml-Datei werden alle Containerbereitstellungsmethoden, Dateizuordnungen, Containerportzuordnungen usw. in eine Konfigurationsdatei geschrieben. Das Ausführen des Befehls docker-compose up ist wie das Ausführen eines Skripts zum Installieren und Bereitstellen von Containern nacheinander.

Die grundlegende Syntax einer YAML-Datei lautet:

  • Groß-/Kleinschreibung beachten;
  • Verwenden Sie Einrückungen, um hierarchische Beziehungen anzuzeigen.
  • Tabulatoren sind zum Einrücken nicht zulässig, nur Leerzeichen sind zulässig.
  • Die Anzahl der Einrückungsleerzeichen ist nicht wichtig, solange Elemente derselben Ebene linksbündig ausgerichtet sind.
  • „#“ kennzeichnet einen Kommentar;

Mit Dockerfile können Benutzer einen einzelnen Anwendungscontainer verwalten. Mit Compose können Benutzer eine Gruppe verwandter Anwendungscontainer in einer Vorlage (YAML-Format) definieren, z. B. einen Webdienstcontainer und einen Back-End-Datenbankdienstcontainer, und zwar wie folgt:

Docker Compose unterteilt die verwalteten Container in drei Schichten:

  • Projekt;
  • Service;
  • Container;

Alle YML-Dateien im Docker Compose-Ausführungsverzeichnis bilden ein Projekt. Ein Projekt enthält mehrere Dienste. Jeder Dienst definiert das Image, die Parameter und die Abhängigkeiten des Containervorgangs. Ein Dienst kann mehrere Containerinstanzen umfassen.

Docker-Compose ist ein Orchestrierungstool für Docker-Container, das hauptsächlich zur Verwaltung mehrerer Container verwendet wird, die voneinander abhängig sind.

2. Docker installieren

Der Server ist CentOS7.4; die Docker-Version ist 19.03.9

1. Installieren Sie Docker Version 19.03.9

[root@centos01 ~]# cd /etc/yum.repos.d/ 
[root@centos01 yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo   
   <!--Centos7-Quelle herunterladen-->
[root@centos01 yum.repos.d]# curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker.ce.repo  
    <!--Laden Sie die neueste Version der Docker-Quelle herunter-->
[root@centos01 ~]# yum -y installiere docker-ce yum-utils device-mapper-persitent-data lvm2  
 <!--Docker- und Docker-CE-Abhängigkeiten installieren-->
[root@centos01 ~]# Docker-Version <!--Docker-Version anzeigen-->
Kunde: Docker Engine – Community
 Version: 19.03.9
 API-Version: 1.40
 Go-Version: go1.13.10
 Git-Commit: 9d988398e7
 Gebaut: Freitag, 15. Mai 2020, 00:25:27 Uhr
 Betriebssystem/Architektur: linux/amd64
 Experimentell: falsch

Server: Docker Engine - Community
 Motor:
 Version: 19.03.9
 API-Version: 1.40 (Mindestversion 1.12)
 Go-Version: go1.13.10
 Git-Commit: 9d988398e7
 Gebaut: Freitag, 15. Mai 2020, 00:24:05 Uhr
 Betriebssystem/Architektur: linux/amd64
[root@centos01 ~]# systemctl start docker <!--Docker-Dienst starten-->
[root@centos01 ~]# systemctl enable docker <!--Automatischen Start einstellen-->

2. Bildbeschleunigung konfigurieren

Aktivieren Sie als Nächstes die von Daoyun bereitgestellte Funktion zur Beschleunigung des Bilddownloads (Ali bietet diese Funktion ebenfalls an, daher erwähne ich hier nur Daoyun).
Daoyun-Beschleuniger-URL: https://www.daocloud.io/
Der Ablauf ist wie folgt:

1) Besuchen Sie die offizielle Website von Daoyun;

2) Registrieren Sie sich als Benutzer und melden Sie sich an;

Nachdem Sie die ersten beiden Schritte abgeschlossen haben, folgen Sie bitte den Anweisungen:

Wenn die folgende Benutzeroberfläche angezeigt wird, ziehen Sie die Seite nach unten:

Ziehen Sie es hierher und kopieren Sie den entsprechenden Befehl entsprechend Ihrer Systemversion (kopieren Sie für einen Linux-Server die folgende Zeile):

[root@centos01 ~]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io <!--Fügen Sie den gerade kopierten Befehl ein-->
Docker-Version >= 1.12
{"Registrierungsspiegel": ["http://f1361db2.m.daocloud.io"]}
Erfolg.
Sie müssen Docker neu starten, damit die Änderungen wirksam werden: sudo systemctl restart docker
[root@centos01 ~]# cat /etc/docker/daemon.json <!--Überprüfen Sie, ob die Beschleunigung erfolgreich konfiguriert wurde-->
{"Registrierungsspiegel": ["http://f1361db2.m.daocloud.io"]}
[root@centos01 ~]# systemctl restart docker <!--Docker-Dienst neu starten-->

3. Installieren und verwenden Sie Docker Compose

1. Docker Compose von Github herunterladen

Wenn Sie das Container-Orchestrierungstool Compose verwenden möchten, muss es auf dem Docker-Dienst basieren und dann den Befehl docker-compose herunterladen. Wir können auf die offizielle GitHub-Website gehen und wie folgt nach „Docker Compose“ suchen:

Beim Herunterladen des Compose-Tools müssen Sie zuerst die Docker-Version Ihres Computers überprüfen!

[root@centos01 ~]# docker -v
Docker-Version 19.03.9, Build 9d988398e7

Wenn die Docker-Version zu niedrig ist, können Sie selbst andere Versionen des Docker-Compose-Tools finden. Nachdem Sie die entsprechende Version ausgewählt haben, führen Sie den auf der GitHub-Website gefundenen Befehl aus.

[root@centos01 ~]#curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
[root@centos01 ~]#chmod +x /usr/local/bin/docker-compose

2. Docker Compose von Daoyun herunterladen

Wenn der Download aufgrund einer schlechten Netzwerkgeschwindigkeit fehlschlägt, können Sie zwischen den folgenden Downloadmethoden wählen: (Ich persönlich empfehle die folgenden Downloadmethoden)

Zuerst besuchen wir die offizielle Website von Daoyun, um es wie folgt herunterzuladen:

[root@centos01 ~]# curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose 
     <!--Fügen Sie den gerade kopierten Befehl zum Herunterladen von Docker Compose ein-->
[root@centos01 ~]# docker-compose -v <!--Docker Compose-Version anzeigen-->
Docker-Compose-Version 1.25.5, Build 8a1c60f6

Sie können die benötigte Version anpassen, indem Sie die Version in der URL ändern. Nachdem wir die beiden oben genannten Befehle ausgeführt haben, können wir das Orchestrierungstool Docker-Compose verwenden.

4. Schreiben Sie eine .yml-Datei

1. .yml-Datei zum Erstellen eines einfachen Nginx-Dienstes

[root@centos01 ~]# vim /root/.vimrc
setze Tabstop=2
[root@centos01 ~]# Quelle /root/.vimrc
<!--Da die Tabulatortaste häufiger verwendet wird, wird vorab eine Tabulatortaste für die Darstellung von zwei Leerzeichen festgelegt-->
[root@centos01 ~]# mkdir docker_compose 
    <!--Erstellen Sie ein Testverzeichnis zum Speichern der Datei docker-compose.yml-->
[root@centos01 ~]# cd docker_compose/ <!--Geben Sie das gemeinsame Verzeichnis ein-->
<!--Es wird empfohlen, nur eine docker-compose.yml-Datei in einem Verzeichnis zu haben-->
[root@centos01 docker_compose]# vim docker-compose.yml  
  <!--Schreiben Sie eine docker-compose.yml-Datei-->
version: "3" <!--Version erstellen -->
Dienste: <!--Dienste definieren-->
 nginx:
  container_name: nginx <!--Name des ausgeführten Containers-->
  Bild: nginx:latest <!--Verwendetes Bild-->
  Neustart: immer <!--Beginnt mit dem Start des Docker-Dienstes-->
  Häfen:
   - 80:80 <!--Zugeordneter Port-->
  Bände:
   – /root/compose_test/webserver:/usr/share/nginx/html     
      <!--Lokale und im Container gemountete Verzeichnisse-->
<!--Achten Sie beim Schreiben von Dateien auf die Einrückung-->   
[root@centos01 docker_compose]# docker-compose up -d
<!--Verwenden Sie die Datei docker-compose.yml im aktuellen Verzeichnis, um den entsprechenden Container zu generieren-->
<!--Option „-d“ bedeutet, dass es im Hintergrund ausgeführt wird. Wenn nicht angegeben, wird es standardmäßig im Vordergrund ausgeführt und belegt das Terminal. -->
[root@centos01 docker_compose]# docker ps <!--Den laufenden Container anzeigen-->
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
a4d71936dd12 nginx:latest "nginx -g 'Daemon von ..." vor 46 Sekunden. Vor 45 Sekunden aktiv. 0.0.0.0:80->80/tcp nginx
[root@centos01 docker_compose]# echo "www.docker-compose.com" > webserver/index.html
    <!--Eine Testwebseite erstellen-->
[root@centos01 docker_compose]# curl http://192.168.100.10 <!--Zugriffstest-->
www.docker-compose.com
[root@centos01 docker_compose]# docker-compose stop <!--Stoppt den in der .yml-Datei angegebenen Container-->
Nginx wird gestoppt ... fertig
[root@centos01 docker_compose]# docker ps <!--Überprüfen Sie, ob der Container gestoppt ist-->
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
[root@centos01 ~]# docker-compose -f docker_compose/docker-compose.yml up -d
<!--Mit der Option „-f“ können Sie den Container angeben, der in der Startdatei der YML-Datei definiert ist -->

2. Compose+Dockerfile zum Erstellen eines Spiegels

[root@centos01 ~]# mkdir compose && cd compose <!--Erstellen Sie ein Testverzeichnis und geben Sie ein-->
[root@centos01 compose]# vim Dockerfile <!--Dockerfile erstellen-->
VON nginx:latest <!--Basisimage-->
HINZUFÜGEN von html /usr/share/nginx/html 
[root@centos01 compose]# vim docker-compose.yml <!--YML-Datei schreiben-->
Version: '3'
Leistungen:
 nginx:
  build: . <!--Geben Sie hier den Pfad der Docker-Datei an. Sie können einen relativen oder einen absoluten Pfad angeben--> 
  container_name: nginx001 <!--Generierter Containername-->
  Bild: nginx001 <!--Mit Dockerfile generierter Bildname-->
  Neustart: immer <!--Beginnt mit dem Start des Docker-Dienstes-->
  Häfen:
   - 8080:80 <!--Zugeordneter Port-->
[root@centos01 compose]# mkdir html <!--Stammverzeichnis der Website erstellen-->
[root@centos01 compose]# echo "www.nginx.8080.com" > html/index.html <!--Testinhalt der Homepage schreiben-->
[root@centos01 compose]# docker-compose up -d <!--Container generieren-->
[root@centos01 compose]# docker ps <!--Container anzeigen-->
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
1428cd1ab7de nginx001 „nginx -g ‚Daemon von …‘“ Vor etwa einer Minute Aktiv Vor etwa einer Minute 0.0.0.0:8080->80/tcp nginx001
a4d71936dd12 nginx:latest "nginx -g 'daemon of..." vor 18 Minuten Vor 15 Minuten aktiv 0.0.0.0:80->80/tcp nginx
[root@centos01 compose]# Docker-Bilder <!--Bild anzeigen-->
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
nginx001 latest 55b8bd0a4a59 Vor etwa einer Minute 127 MB
nginx latest 9beeba249f3e vor 5 Tagen 127MB
[root@centos01 verfassen]# curl http://192.168.100.10:8080 <!--Zugriffstest-->
www.nginx.8080.com
[root@centos01 compose]# docker-compose stop <!--Container stoppen-->
Nginx001 wird gestoppt ... fertig
[root@centos01 ~]# docker-compose -f compose/docker-compose.yml up -d   
      <!-- Führen Sie den Container aus, indem Sie die .yml-Datei über -f angeben -->
Nginx001 wird gestartet ... fertig

3. Verwenden Sie .yml-Dateien, um eine Blog-Plattform zu erstellen

[root@centos01 ~]# mkdir wordpress && cd wordpress <!--Erstellen Sie ein Testverzeichnis-->
[root@centos01 wordpress]# vim docker-compose.yml <!--YML-Datei schreiben-->
Version: '3.1' 
Leistungen:
 Wordpress:
  image: wordpress <!--Geben Sie das zu verwendende Bild an-->
  Neustart: immer
  Häfen:
   - 1111:80 <!--Geben Sie den zugeordneten Port an-->
  Umgebung: <!--Ändern Sie die Umgebungsvariablen im Container-->
   WORDPRESS_DB_HOST: mysql
   WORDPRESS_DB_USER: WordPress
   WORDPRESS_DB_PASSWORD: pwd@123
   WORDPRESS_DB_NAME: WordPress
 MySQL:
  Bild:mysql:5.6
  Neustart: immer
  Befehl: --character-set-server=utf8 <!--Chinesisch unterstützen-->
  Umfeld:
   MYSQL_ROOT_PASSWORD: pwd@123 <!--Passwort für Root-Zugriff auf die Datenbank-->
   MYSQL_DATABASE: wordpress <!--WordPress-Datenbank erstellen-->
   MYSQL_USER: wordpress <!--Benutzername-->
   MYSQL_PASSWORD: pwd@123 <!--Benutzerzugriffskennwort-->
[root@centos01 wordpress]# docker-compose up -d <!--Erstelle den entsprechenden Container und führe ihn im Hintergrund aus-->
[root@centos01 wordpress]# docker ps <!-- Den laufenden Container anzeigen -->
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
a93858ade399 wordpress "docker-entrypoint.s..." vor 28 Sekunden Up 27 Sekunden 0.0.0.0:1111->80/tcp wordpress_wordpress_1
cec94e3bd0ee mysql:5.6 "docker-entrypoint.s..." vor 28 Sekunden Up 27 Sekunden 3306/tcp wordpress_mysql_1
[root@centos01 wordpress]# Docker-Bilder <!--Bild anzeigen-->
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
mysql 5.6 9e4a20b3bbbc vor 10 Stunden 302 MB
wordpress latest 675af3ca3193 vor 5 Tagen 540MB
[root@centos01 wordpress]# netstat -anptu |grep 1111 <!--Bestätigen Sie, dass Port 1111 lauscht-->
tcp6 0 0 :::1111 :::* LISTEN 119795/Docker-Proxy
[root@centos01 wordpress]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf 
      <!--Routing-Funktion aktivieren-->
[root@centos01 wordpress]# sysctl -p <!--Konfiguration aktualisieren-->
net.ipv4.ip_forward = 1

Client-Zugriff http://192.168.100.10:1111

Legen Sie die grundlegenden Informationen fest:

Installation abgeschlossen, anmelden:

Geben Sie Ihren Benutzernamen und Ihr Passwort ein:

Ändern Sie die Schriftart in vereinfachtes Chinesisch:

Dies ist das Ende dieses Artikels über die Installation von Docker.v19 und die Konfiguration des Docker Compose-Orchestrierungstools. Weitere Informationen zur Docker-Installation und -Konfiguration von Docker Compose finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Beispiele für das Schreiben von Docker-Compose-Konfigurationsdateien und die Verwendung von Befehlen
  • Verwenden von Docker Compose zum Erstellen und Bereitstellen des ElasticSearch-Konfigurationsprozesses
  • Docker-Compose-Installationsmethode für die YML-Dateikonfiguration
  • Detaillierte Erläuterung des Prozesses zum Bereitstellen des verteilten Konfigurationscenters Apollo mit einem Klick mithilfe von Docker Compose
  • Detailliertes Tutorial zur Docker-Compose-Bereitstellung und Konfiguration von Jenkins
  • Docker-Compose-Schritte zum Konfigurieren der Spring-Umgebung
  • Detaillierte Erklärung der Softwarekonfiguration mit Docker-Compose unter Linux
  • Detaillierte Erklärung der Docker Compose-Konfigurationsdateiparameter

<<:  Detaillierte Erläuterung des Excel-Parsings und -Exports basierend auf Vue

>>:  MySQL-Lernnotizen zum Umgang mit doppelten Daten

Artikel empfehlen

MySQL-Import- und Export-Sicherungsdetails

Inhaltsverzeichnis 1. Detaillierte Erklärung der ...

...

Teilen Sie einige ungewöhnliche, aber nützliche JS-Techniken

Vorwort Programmiersprachen enthalten normalerwei...

So erstellen Sie ein React-Projekt mit Vite

Inhaltsverzeichnis Vorwort Erstellen Sie ein Vite...

Nginx-Signalsteuerung

Einführung in Nginx Nginx ist ein leistungsstarke...

React-Diagramm Serialisierung JSON Interpretation Fallanalyse

Das Ziel dieses Dokuments ist es, die JSON-Serial...

So fragen Sie Bilder in einem privaten Register ab oder erhalten sie

Docker fragt Bilder in einem privaten Register ab...

Vollständige Analyse des MySQL INT-Typs

Vorwort: Integer ist einer der am häufigsten verw...

Interpretation von syslogd- und syslog.conf-Dateien unter Linux

1: Einführung in syslog.conf Für verschiedene Uni...

Sollte ich JQuery aufgeben?

Inhaltsverzeichnis Vorwort Was soll verwendet wer...