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:
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:
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). 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:
|
<<: Detaillierte Erläuterung des Excel-Parsings und -Exports basierend auf Vue
>>: MySQL-Lernnotizen zum Umgang mit doppelten Daten
Inhaltsverzeichnis 1. Detaillierte Erklärung der ...
Inhaltsverzeichnis Die Fallstricke Füllmethode Wa...
Vorwort Programmiersprachen enthalten normalerwei...
Inhaltsverzeichnis Vorwort Erstellen Sie ein Vite...
Einführung in Nginx Nginx ist ein leistungsstarke...
Das Ziel dieses Dokuments ist es, die JSON-Serial...
Docker fragt Bilder in einem privaten Register ab...
Vorwort: Integer ist einer der am häufigsten verw...
Inhaltsverzeichnis Primärschlüsselindex Erstellen...
In MySQL verwenden wir normalerweise ein Limit, u...
Inhaltsverzeichnis 1. Kurzbeschreibung 2. Schritt...
1: Einführung in syslog.conf Für verschiedene Uni...
1 Einleitung Ein guter Programmierer sollte über ...
Inhaltsverzeichnis Vorwort Was soll verwendet wer...