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 verwendet. Docker Compose verwendet eine YAML-Datei, um einen komplexen Stack in einer Datei zu definieren und 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 ist ein Root-Passwort konfiguriert.
Installieren Sie Docker
Stellen Sie vor dem Start sicher, dass Docker auf Ihrem Server installiert ist. Wenn es nicht installiert ist, müssen Sie das Docker-CE-Repository zu Ihrem System hinzufügen. Sie können es mit dem folgenden Befehl hinzufügen:
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Nachdem das Repository hinzugefügt wurde, installieren Sie die neueste Docker-Version mit dem folgenden Befehl:
dnf install docker-ce --nobest -y
systemctl start docker
systemctl enable docker
Sie können die Docker-Version mit dem folgenden Befehl überprüfen:
docker --version
Sie sollten die folgende Ausgabe sehen:
Docker version 19.03.5, build 633a0ea
Installieren Sie Docker Compose
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 zuerst den Curl-Befehl 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 anzeigen, die mit docker-compose verfügbar sind:
docker-compose --help
Sie sollten die folgende Seite sehen:
Stellen Sie Drupal mit Docker Compose bereit
In diesem Abschnitt zeigen wir Ihnen, wie Sie Drupal mit Docker Compose installieren.
Erstellen Sie zunächst mit dem folgenden Befehl ein Verzeichnis für Ihr Drupal:
mkdir drupal
Erstellen Sie als Nächstes eine drupal.yaml-Datei im drupal-Verzeichnis:
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 ändern Sie das Verzeichnis in drupal und starten Ihren Docker-Container mit dem folgenden Befehl:
cd drupal
docker-compose up -d
Der obige Befehl lädt die Drupal- und Postgresql-Container herunter und führt sie aus.
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-Webinstallationsassistenten zuzugreifen, wie unten gezeigt:
Arbeiten mit Docker Compose
In diesem Abschnitt zeigen wir Ihnen, wie Sie den Docker-Compose-Befehl verwenden.
Um die Docker Compose-Dienste zu stoppen, führen Sie den folgenden Befehl im drupal-Verzeichnis 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 im drupal-Verzeichnis aus:
docker-compose start
Führen Sie den folgenden Befehl aus, um das Protokoll der Container anzuzeigen:
docker-compose logs
Führen Sie den folgenden Befehl aus, um die Protokolle eines bestimmten Containers anzuzeigen:
docker-compose logs drupal
Sie können Ihre Konfigurationsdatei mit dem folgenden Befehl anzeigen:
docker-compose config
Um die Container anzuhalten und wieder anzuhalten, 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
Führen Sie den folgenden Befehl aus, um alle Container zu entfernen:
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 Datenvolumes 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, Sie haben genug Wissen darüber, wie Sie den Docker Compose-Befehl verwenden, um die Docker-Container zu verwalten.