So installieren und verwenden Sie Docker Compose unter Rocky Linux 9

Einführung

Für Entwickler, die mit mehreren Containern arbeiten, ist Docker Compose ein essenzielles Werkzeug. Es erlaubt, komplexe Applikationen mit einer einzigen Konfigurationsdatei zu definieren und zu steuern. Dies vereinfacht das Deployment und die Skalierung von Anwendungen erheblich. Rocky Linux 9, eine weitverbreitete Linux-Distribution, bietet eine solide Basis für Docker Compose. In diesem Artikel wird die Installation und Verwendung von Docker Compose unter Rocky Linux 9 detailliert beschrieben.

Vorbereitung

Vor der Installation von Docker Compose ist es erforderlich, dass Docker auf Ihrem System installiert ist. Falls Docker noch nicht eingerichtet wurde, können Sie dies mit den folgenden Schritten nachholen:

1. Systempakete aktualisieren:

sudo dnf update -y

2. Notwendige Abhängigkeiten installieren:

sudo dnf install -y yum-utils device-mapper-persistent-data lvm2

3. Docker-Repository aktivieren:

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4. Docker CE installieren:

sudo dnf install -y docker-ce docker-ce-cli containerd.io

5. Docker starten:

sudo systemctl enable docker
sudo systemctl start docker

Installation von Docker Compose

Sobald Docker auf Ihrem System installiert ist, können Sie Docker Compose mit folgendem Befehl installieren:

sudo dnf install -y docker-compose

Überprüfung der Installation

Um die erfolgreiche Installation von Docker Compose zu verifizieren, geben Sie den folgenden Befehl ein:

docker-compose --version

Die Ausgabe sollte die aktuelle Version von Docker Compose anzeigen.

Anwendung von Docker Compose

Nach der Installation von Docker Compose können Sie mit der Erstellung Ihres ersten Docker Compose-Dienstes beginnen. Im Rahmen dieses Artikels wird ein einfaches Beispiel verwendet, um die Arbeitsweise von Docker Compose zu erläutern.

1. Erstellen einer Docker Compose YAML-Datei:

Erzeugen Sie eine Datei mit dem Namen docker-compose.yml und folgendem Inhalt:

version: '3.8'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf

Erläuterung der Datei:

  • version: Bestimmt die Docker Compose-Version.
  • services: Definiert die Dienste, die in der Anwendung genutzt werden.
  • web: Der Name des Dienstes.
  • image: Das Docker-Image, das für den Dienst verwendet wird (in diesem Fall nginx:latest).
  • ports: Legt die Ports fest, die dem Container zugewiesen werden. Hier wird Port 80 des Host-Systems auf Port 80 des Containers geleitet.
  • volumes: Definiert Volumes, die dem Container zur Verfügung stehen. Das Verzeichnis ./nginx.conf wird auf /etc/nginx/conf.d/default.conf im Container abgebildet.

2. Erstellung einer Nginx-Konfigurationsdatei:

Erstellen Sie eine Datei namens nginx.conf mit folgendem Inhalt:

server {
    listen 80;
    server_name localhost;

    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
    }
}

3. Starten des Docker Compose-Dienstes:

Starten Sie den Docker Compose-Dienst mit folgendem Befehl:

docker-compose up -d

Der Befehl docker-compose up startet die Dienste, die in der Datei docker-compose.yml definiert sind. Die Option -d führt die Dienste im Hintergrund aus.

4. Überprüfung der Anwendung:

Öffnen Sie Ihren Webbrowser und geben Sie https://localhost ein. Die Standard-Nginx-Willkommensseite sollte erscheinen.

5. Stoppen des Docker Compose-Dienstes:

Um den Docker Compose-Dienst zu beenden, nutzen Sie folgenden Befehl:

docker-compose down

Erweiterte Docker Compose-Funktionen

Docker Compose bietet eine Fülle von Funktionen zur Verwaltung komplexer Anwendungen. Einige der wichtigsten Funktionen sind:

  • Skalierbarkeit: Die Anzahl der Instanzen eines Dienstes kann mit dem Argument --scale angepasst werden. Beispielsweise starten Sie zwei Instanzen des Dienstes web mit diesem Befehl:
    docker-compose up -d --scale web=2
  • Netzwerke: Docker Compose ermöglicht die Definition von Netzwerken, die Ihre Dienste miteinander verbinden. Dies vereinfacht die Kommunikation zwischen Containern.
  • Umgebungsvariablen: Umgebungsvariablen können in der docker-compose.yml-Datei definiert werden, um Konfigurationseinstellungen für Dienste zu verwalten.
  • Secrets: Docker Compose unterstützt die Verwendung von Secrets zur sicheren Speicherung sensibler Daten wie Passwörter oder API-Schlüssel.
  • Überwachung: Docker Compose stellt Werkzeuge zur Überwachung der Leistung Ihrer Dienste bereit, z. B. der Befehl docker-compose logs zur Anzeige von Protokollen.

Fazit

Docker Compose ist ein leistungsfähiges Werkzeug, das die Verwaltung und das Deployment von Anwendungen mit Docker erheblich vereinfacht. Es ermöglicht die Definition und Steuerung komplexer Anwendungen über eine einzige Konfigurationsdatei und optimiert so Prozesse für Bereitstellung, Skalierung und Updates. Die unkomplizierte Installation und Bedienung machen Docker Compose zu einer populären Wahl für Entwickler, die mit Docker arbeiten.

Häufig gestellte Fragen (FAQs)

  1. Welche Vorteile bietet die Verwendung von Docker Compose?

    Docker Compose erleichtert die Verwaltung mehrerer Container und erlaubt die Definition aller benötigten Komponenten in einer einzigen Datei. Dies vereinfacht die Bereitstellung, Skalierung und Aktualisierung von Anwendungen erheblich.

  2. Wie kann man die Docker Compose-Datei debuggen?

    Mit der Option docker-compose up -d --build können Sie die Container erstellen und starten. Dies erlaubt Ihnen, die Ausgaben des Build-Prozesses zu überprüfen und Fehler zu beheben.

  3. Kann man mit Docker Compose unterschiedliche Docker-Images verwenden?

    Ja, Sie können in der docker-compose.yml-Datei für verschiedene Dienste unterschiedliche Docker-Images definieren.

  4. Wie lässt sich die Docker Compose-Datei an eine jeweilige Umgebung anpassen?

    Umgebungsvariablen in Ihrer docker-compose.yml-Datei erlauben es, Konfigurationseinstellungen an die jeweilige Umgebung, in der Sie die Anwendung einsetzen, anzupassen.

  5. Gibt es Möglichkeiten, die Leistung von Docker Compose zu optimieren?

    Die Leistung von Docker Compose kann verbessert werden, indem die Docker-Einstellungen optimiert, beispielsweise durch den Einsatz von Docker Hub oder privaten Registern für einen schnelleren Zugriff auf Images, werden.

  6. Wie kann Docker Compose in Continuous Integration/Continuous Delivery (CI/CD) integriert werden?

    Docker Compose kann in CI/CD-Pipelines integriert werden, um das automatisierte Deployment von Anwendungen zu ermöglichen. Tools wie Jenkins oder GitLab CI helfen Ihnen dabei, Docker Compose-Befehle in Ihre Pipelines einzubinden.

  7. Worin unterscheiden sich Docker und Docker Compose?

    Docker ist eine Plattform für die Containerisierung von Anwendungen, während Docker Compose ein Werkzeug ist, um mehrteilige Anwendungen mit mehreren Containern zu definieren und zu steuern.

  8. Kann man Docker Compose mit anderen Container-Orchestrierungstools wie Kubernetes kombinieren?

    Docker Compose kann genutzt werden, um Anwendungen zu entwickeln und zu testen, bevor sie in einer Produktionsumgebung mit Kubernetes eingesetzt werden.

  9. Wo findet man weitere Informationen zu Docker Compose?

    Die offizielle Docker Compose-Dokumentation [https://docs.docker.com/compose/] bietet eine umfassende Dokumentation und Anleitungen.

  10. Wie sicher ist Docker Compose?

    Docker Compose ist in der Regel sicher. Es ist jedoch wichtig, Sicherheitsrichtlinien einzuhalten und sensible Daten, wie Passwörter oder API-Schlüssel, mit Secrets zu schützen.

Tags: Docker, Docker Compose, Rocky Linux, Linux, Container, Containerisierung, Anwendung, Entwicklung, Bereitstellung, Skalierung, Netzwerk, Umgebungsvariablen, Secrets, Überwachung, CI/CD, Kubernetes.