GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

So installieren und verwenden Sie Docker Compose unter CentOS

Docker Compose ist ein einfaches Python-Programm, das bei der einfachen Bereitstellung mehrerer Docker-Container auf einem Server hilft.

Es verwendet eine einfache YAML-Datei für die Dienstbeschreibung.

Anstelle des langen docker run . . . Zeilen können Sie einfach docker-compose up -d verwenden um mehrere Dienste gleichzeitig bereitzustellen.

In diesem Tutorial zeige ich Ihnen, wie Sie Docker Compose auf einem CentOS-Server installieren. Ich zeige Ihnen auch ein kurzes Beispiel für die Verwendung von Docker Compose zum Bereitstellen eines NGINX-Servers mit einer bestimmten Konfiguration.

Installation von docker-compose auf CentOS

Docker muss vorher installiert sein. Stellen Sie sicher, dass Sie Docker auf Ihrem CentOS-System installieren, bevor Sie Docker Compose installieren.

docker-compose ist weder in den offiziellen Repositories von CentOS noch im RPM-Repository von Docker gepackt.

Es gibt zwei Möglichkeiten, Docker Compose unter Linux zu installieren:

  • Laden Sie die Installationsdateien für Docker Compose Linux herunter und richten Sie sie manuell ein
  • Verwenden Sie PIP, um Docker Compose einfach zu installieren

Ich persönlich ziehe es vor, PIP zu verwenden, um Docker Compose zu installieren. Da Docker Compose im Grunde eine Python-Anwendung ist, ist es sinnvoll, PIP für die Installation zu verwenden.

Mal sehen, wie es geht.

pip3 installieren

Installieren Sie pip3 mit dem folgenden Befehl:

sudo dnf install python3-pip

Installieren Sie docker-compose mit pip3

Verwenden Sie pip, um docker-compose

zu installieren
pip3 install --user docker-compose

Pfad aktualisieren

pip installiert docker-compose in ~/.local/bin Verzeichnis. Sie müssen es der PATH-Umgebungsvariable hinzufügen, damit Sie es von überall ausführen können:

echo 'PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc

Wenn Sie zsh verwenden , ändern Sie .bashrc zu .zshrc .

Wenn Sie fertig sind, verwenden Sie entweder den Quellbefehl source ~/.bashrc oder öffnen Sie das Terminal erneut (melden Sie sich ab und wieder an, wenn es sich um einen Server handelt).

Bestätigen Sie mit dem folgenden Befehl, dass docker-compose installiert ist:

[email protected]:~$ docker-compose --version
docker-compose version 1.26.2, build unknown

Herzliche Glückwünsche! Sie haben jetzt docker-compose auf Ihrem CentOS 8-Server installiert.

Möchten Sie es testen? Folgen Sie diesem einfachen Tutorial und erfahren Sie, wie Sie Docker Compose verwenden.

Stellen Sie einen nginx-Beispielserver mit docker-compose bereit

Nginx ist einer der beliebtesten Webserver und kann einfach über Docker bereitgestellt werden.

Vergleichen wir die komponierte Methode und die nicht komponierte Methode

Bereitstellen von Nginx ohne Docker Compose

Sie können run verwenden Befehl zum einfachen Bereitstellen eines Nginx-Servers wie folgt:

docker run --name server --network net -v html:/usr/share/nginx/html -v $PWD/custom-config.conf:/etc/nginx/nginx.conf -p 80:80 --restart on-failure -d nginx:latest

Hier haben Sie einen nginx-Server mit einem Containernamen „server“ bereitgestellt, ein externes Netzwerk „net“ verwendet, ein Volume namens „html“ gemountet, eine benutzerdefinierte Konfigurationsdatei verwendet und Port 80 auf dem Host überwacht automatischer Neustart bei Fehler.

Lassen Sie uns die Probleme hier durchgehen:

Sie müssen vorher die Netzwerke und Volumes erstellen

Docker erstellt das Netzwerk und Volume nicht automatisch. Sie müssen sie vorher erstellen.

Zu viele Optionen, um sie jedes Mal zu schreiben

Es gibt zu viele Möglichkeiten zu schreiben. Wenn es sich um einen komplizierteren Container wie einen Datenbankcontainer oder einen Reverse-Proxy-Container oder einen Nextcloud-Container handelt, werden diese Optionen einfach erweitert.

Entwicklungsumgebung

Was ist, wenn Sie Ihren Build testen und das Volume nach dem Stoppen des Containers nicht beibehalten möchten? Anschließend müssen Sie das Volume und das Netzwerk manuell entfernen.

Bereitstellen von Nginx mit Docker Compose

Zuerst müssen Sie eine Compose-Datei erstellen.

Erstellen Sie ein Verzeichnis namens „nginx-compose“ und cd hinein:

mkdir nginx-compose && cd nginx-compose

Erstellen Sie eine Datei namens „docker-compose.yml“ und fügen Sie die folgenden Zeilen hinzu

version: "3.3"

services:
    server:
        image : "nginx:latest"
        container_name: "server"
        volumes:
            - "html:/usr/share/nginx/html"
            - "./custom-config.conf:/etc/nginx/nginx.conf"
        networks:
            - "net"
        ports:
            - "80:80"
        restart: "on-failure"

volumes:
    html:
networks:
    net:

Diese Compose-Datei beschreibt einen Dienst namens server , das einen Nginx-Server mit genau denselben Konfigurationen bereitstellt, wie wir es bei der nicht zusammengesetzten Methode getan haben. Stellen Sie es bereit mit:

docker-compose up -d

docker-compose sucht im aktuellen Verzeichnis nach einer Datei namens „docker-compose.yml“, analysiert sie und stellt die darin definierten Dienste bereit.

Lassen Sie uns nun die Probleme der Nicht-Compose-Methode mit der Compose-Methode durchgehen:

  1. Die Netzwerke und Volumes müssen nicht vorher erstellt werden, docker-compose erledigt das für Sie. Sie können externe Volumes hinzufügen, indem Sie external in jedem Volume/Netzwerk auf true setzen.
  2. Sobald Sie die .yaml-Datei geschrieben haben, müssen Sie keine umfangreichen Befehle mehr aufschreiben. Sie können diese Datei auf jeden anderen Server kopieren, auf dem eine aktuelle Version von Docker-Compose installiert ist, und sie wird problemlos wie erwartet ausgeführt.
  3. Sie können docker-compose down -v verwenden Befehl, um nicht nur die Container zu stoppen und zu entfernen, sondern auch alle Netzwerke und Volumes, die Docker-Compose erstellt hat. Dies hilft beim Aufräumen in einer Entwicklungs-/Testumgebung.

Die Verwendung von docker-compose gegenüber docker run bietet viele weitere Vorteile , insbesondere in der Produktion, was für den heutigen Artikel nicht möglich ist.

Wenn Sie so etwas sehen möchten, lassen Sie es mich im Kommentarbereich unten wissen. Weitere Anleitungen wie diese finden Sie in unserer Docker-Reihe.


Docker
  1. So installieren und verwenden Sie TensorFlow unter CentOS 7

  2. So installieren Sie Docker Compose unter CentOS 7

  3. So installieren und verwenden Sie Docker Compose unter Ubuntu 18.04

  4. So installieren und verwenden Sie Docker unter CentOS 7

  5. So installieren und verwenden Sie Docker Compose unter CentOS 7

So installieren Sie Docker Compose unter CentOS 7

So installieren und verwenden Sie Docker Compose unter Ubuntu 20.04

So installieren und verwenden Sie Docker Compose unter Ubuntu 22.04

So installieren und verwenden Sie Docker unter Ubuntu 22.04

So installieren und verwenden Sie Docker Compose unter Debian 11

So installieren und verwenden Sie Docker unter CentOS 8