Installieren und Verwenden von Docker Compose unter CentOS 8
Docker Compose ist ein Tool, mit dem mehrere Container als ein einziger Dienst definiert und ausgeführt werden können. Mit Docker Compose können Sie mehrere Container verknüpfen und eine Anwendung mit einem einzigen Befehl bereitstellen. Es wird hauptsächlich in der Entwicklungs-, Test- und Staging-Umgebung eingesetzt. Docker Compose verwendet eine YAML-Datei, um einen komplexen Stack in einer Datei zu definieren und diese mit einem einzigen Befehl auszuführen.
In diesem Tutorial zeigen wir Ihnen, wie Sie Docker Compose in CentOS 8 installieren und verwenden.
Anforderungen
- Ein Server mit CentOS 8.
- Auf dem Server wird ein Root-Passwort konfiguriert.
Docker installieren
Bevor Sie beginnen, stellen Sie sicher, dass Sie Docker auf Ihrem Server installiert haben. Falls nicht installiert, müssen Sie das Docker-CE-Repository zu Ihrem System hinzufügen. Sie können sie mit dem folgenden Befehl hinzufügen:
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Sobald das Repository hinzugefügt wurde, installieren Sie die neueste Version des Andockers mit dem folgenden Befehl:
dnf install docker-ce --nobest -y
systemctl start docker systemctl enable docker
Sie können die Dockervariante mit dem folgenden Befehl überprüfen:
docker --version
Sie sollten die folgende Ausgabe sehen:
Docker version 19.03.5, build 633a0ea
Docker installieren Verfassen
Standardmäßig ist Docker Compose nicht im Standard-Repository von CentOS 8 verfügbar. Sie müssen es also aus dem Git-Repository herunterladen.
Installieren Sie zunächst den Befehl curl mit dem folgenden Befehl:
dnf install curl -y
Laden Sie als nächstes die neueste Version von Docker Compose aus dem Git-Repository herunter, indem Sie Curl wie unten gezeigt verwenden:
curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
Sobald der Download abgeschlossen ist, machen Sie die heruntergeladene Binärdatei mit dem folgenden Befehl ausführbar:
chmod +x /usr/local/bin/docker-compose
Als nächstes können Sie die Compose-Version mit dem folgenden Befehl überprüfen:
docker-compose --version
Sie sollten die folgende Ausgabe sehen:
docker-compose version 1.25.0, build 0a186604
Mit dem folgenden Befehl können Sie alle Optionen sehen, die mit docker-compose verfügbar sind:
docker-compose --help
Sie sollten die folgende Seite sehen:
Drupal mit Docker-Compose-Funktionalität einsetzen
In diesem Abschnitt zeigen wir Ihnen, wie Sie Drupal mit Docker Compose installieren können.
Erstellen Sie zunächst ein Verzeichnis für Ihr Drupal mit dem folgenden Befehl:
mkdir drupal
Als nächstes erstellen Sie eine drupal.yaml-Datei innerhalb des drupal-Verzeichnisses:
nano drupal/docker-compose.yaml
Fügen Sie den folgenden Inhalt hinzu:
version: '3.3' services: drupal: image: drupal:latest ports: - 80:80 volumes: - drupal_modules:/var/www/html/modules - drupal_profiles:/var/www/html/profiles - drupal_themes:/var/www/html/themes - drupal_sites:/var/www/html/sites restart: always postgres: image: postgres:10 environment: POSTGRES_PASSWORD: your_postgres_password volumes: - db_data:/var/lib/postgresql/data restart: always volumes: drupal_modules: drupal_profiles: drupal_themes: drupal_sites: db_data:
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Als nächstes wechseln Sie das Verzeichnis auf drupal und starten Ihren Docker-Container mit dem folgenden Befehl:
cd drupal docker-compose up -d
Mit dem obigen Befehl werden die drupal- und postgresql-Container heruntergeladen und ausgeführt.
Sie können Ihre laufenden Container mit dem folgenden Befehl überprüfen:
docker-compose ps
Sie sollten die folgende Ausgabe sehen:
Name Command State Ports ------------------------------------------------------------------------------- drupal_drupal_1 docker-php-entrypoint apac ... Up 0.0.0.0:80->80/tcp drupal_postgres_1 docker-entrypoint.sh postgres Up 5432/tcp
Jetzt können Sie die URL http://your-server-ip besuchen, um auf den Drupal-Webinstallations-Assistenten zuzugreifen, wie unten gezeigt:
Arbeiten mit Docker Compose
In diesem Abschnitt zeigen wir Ihnen, wie Sie den Befehl docker-compose verwenden können.
Um die Docker-Compose-Dienste zu stoppen, führen Sie den folgenden Befehl innerhalb des drupal-Verzeichnisses aus:
docker-compose stop
Sie sollten die folgende Ausgabe sehen:
Stopping drupal_drupal_1 ... done Stopping drupal_postgres_1 ... done
Um die Docker-Compose-Dienste zu starten, führen Sie den folgenden Befehl innerhalb des drupal-Verzeichnisses aus:
docker-compose start
Um das Protokoll der Container anzuzeigen, führen Sie den folgenden Befehl aus:
docker-compose logs
Um die Protokolle eines bestimmten Containers anzuzeigen, führen Sie den folgenden Befehl aus:
docker-compose logs drupal
Sie können Ihre Konfigurationsdatei mit dem folgenden Befehl anzeigen:
docker-compose config
Um die Container zu pausieren und die Pause aufzuheben, führen Sie den folgenden Befehl aus:
docker-compose pause
Ausgabe:
Pausing drupal_postgres_1 ... done Pausing drupal_drupal_1 ... done
docker-compose unpause
Ausgabe:
Unpausing drupal_drupal_1 ... done Unpausing drupal_postgres_1 ... done
Um alle Container zu entfernen, führen Sie den folgenden Befehl aus:
docker-compose down
Sie sollten die folgende Ausgabe sehen:
Stopping drupal_drupal_1 ... done Stopping drupal_postgres_1 ... done Removing drupal_drupal_1 ... done Removing drupal_postgres_1 ... done Removing network drupal_default
Sie können die Datenträger auch mit dem folgenden Befehl entfernen:
docker-compose down --volumes
Sie sollten die folgende Ausgabe sehen:
Removing network drupal_default WARNING: Network drupal_default not found. Removing volume drupal_drupal_modules Removing volume drupal_drupal_profiles Removing volume drupal_drupal_themes Removing volume drupal_drupal_sites Removing volume drupal_db_data
Schlussfolgerung
Im obigen Tutorial haben wir gelernt, wie man Docker Compose in CentOS 8 installiert und verwendet. Ich hoffe, dass Sie genug Wissen über die Verwendung des Befehls Docker Compose haben, um die Docker-Container zu verwalten.