So installieren Sie Docker und Docker Compose unter Linux

Docker bietet Ihnen alles, was Sie zum Erstellen und Ausführen von Containern auf Ihrem Linux-System benötigen . Container ähneln leichten virtuellen Maschinen. Mit ihnen können Sie tragbare Anwendungsabbilder erstellen, die mit dem Betriebssystemkern Ihres Hosts ausgeführt werden.

Sie können Docker auf Debian-, Fedora-, CentOS- und Raspbian-Plattformen verwenden. Derivate dieser Verteilungen funktionieren ebenfalls. Docker bietet x86/x64- und ARM-Builds für die meisten unterstützten Plattformen. Wir verwenden ein Debian-System mit dem passenden Paketmanager für dieses Handbuch. Anweisungen für andere Distributionen finden Sie in den Docker-Dokumenten.

Mit Docker Compose können Sie Stapel mehrerer Container erstellen und ausführen. Sie erstellen eine YAML-Datei, in der die Container Ihrer Anwendung konfiguriert werden. Sie können dann mit einem einzigen Befehl alle Container starten und miteinander verknüpfen. Mit Compose können Sie die Komponenten Ihres Stacks in einzelne containerisierte Services aufteilen.

Compose wird unabhängig von Docker verteilt. Installieren Sie Docker, bevor Sie Compose & # 8211; Andernfalls kann Compose nicht funktionieren.

Docker installieren

Sie können den Paketmanager Ihres Betriebssystems verwenden, um die neueste Docker-Version zu installieren. Sie müssen das Docker-Repository hinzufügen, Ihre Paketlisten aktualisieren und dann Docker installieren.

Debian/Ubuntu

Beginnen Sie mit dem Hinzufügen von Abhängigkeiten Wird für den Installationsprozess benötigt:

sudo apt-get update sudo apt-get install apt-transport-https ca-Zertifikate curl gnupg lsb-release

Fügen Sie als Nächstes den Repository-GPG-Schlüssel von Docker hinzu:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg –dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Fügen Sie das Repository zu Ihren Quellen hinzu und aktualisieren Sie Ihre Paketlisten:

echo “deb [arch = amd64 signiert von//usr/share/keyrings/docker-archive-keyring.gpg] https: //download.docker. com/linux/ubuntu $ (lsb_release -cs) stabil “| sudo tee /etc/apt/sources.list.d/docker.list & gt;/dev/null sudo apt-get update

Jetzt können Sie Docker installieren:

sudo apt-get installiere docker-ce docker-ce-cli containerd.io

Fedora

Fügen Sie das Paket-Repository von Docker hinzu:

sudo dnf -y installiere dnf-plugins-core sudo dnf config-manager –add-repo https://download.docker.com/linux/fedora/docker-ce.repo

Installiere Docker:

sudo dnf installiere docker-ce docker-ce-cli containerd.io

CentOS

Füge das Paket-Repository von Docker hinzu:

sudo yum -y installiere yum-utils sudo yum-config-manager –add-repo https://download.docker.com/linux/fedora/docker-ce.repo

Docker installieren:

sudo yum installiere Docker-Ce Docker-Ce- cli containerd.io

Docker ohne Sudo verwenden

Der Docker-Daemon wird als Root ausgeführt. Normalerweise müssen Sie Docker-Befehlen sudo voranstellen. Dies kann mühsam werden, wenn Sie Docker häufig verwenden. Wenn Sie sich der Docker-Gruppe hinzufügen, können Sie Docker ohne sudo verwenden.

sudo usermod -aG docker $ USER

Sobald Sie in der Gruppe sind, melden Sie sich ab und erneut an. Alternativ können Sie den Docker-Befehl newgrp ausführen, um sich sofort bei der aktualisierten Gruppe anzumelden. Sie sollten nun in der Lage sein, sudo aus Docker-Befehlen zu löschen.

Testen Ihrer Docker-Installation

Jetzt, da Docker installiert ist, ist es an der Zeit, zu testen, ob es funktioniert! Sie können das minimale Hallo-Welt-Bild verwenden.

Docker führt Hallo-Welt aus: Neueste

In Ihrem Terminal sollten einige Ausgabezeilen angezeigt werden. Docker sucht zuerst nach der Hallo-Welt: dem neuesten Image auf Ihrem Computer. Da es nicht vorhanden ist, wird das Image aus dem Docker Hub-Repository abgerufen.

Sobald das Bild gezogen wurde, wird ein neuer Container daraus erstellt. Der Container ist so konfiguriert, dass er eine grundlegende “Hallo Welt” ausgibt. Nachricht und dann beenden. Wenn Sie den Text sehen, funktioniert Ihre Docker-Installation!

Verwalten des Docker-Dienstes

Sie können überprüfen, ob Docker ausgeführt wird, indem Sie den Dienst mit systemctl überprüfen. Es sind zwei Komponenten zu berücksichtigen: Docker und Containerd. Docker ist der Docker Engine-Daemon, an den die CLI Befehle sendet. Containerd ist die zugrunde liegende Laufzeit, in der Ihre Container tatsächlich ausgeführt werden.

sudo systemctl status docker.service sudo systemctl status containerd.service

Sie können die Daemons wie alle anderen Dienste auf Ihrem System verwalten. Verwenden Sie systemctl stop, wenn Sie Docker vorübergehend stoppen und die von Ihren Containern verwendeten Systemressourcen freigeben möchten:

sudo systemctl stop docker.service

Sie können den Dienst mit systemctl start neu starten.

Hinzufügen von Docker-Compose

Docker-Compose ist eine separate Binärdatei, die am besten direkt von den GitHub-Versionen des Projekts heruntergeladen werden kann. Die meisten gängigen Linux-Distributionen enthalten Compose in ihren Paketmanagern, es kann jedoch erheblich veraltet sein.

Gehen Sie zur Release-Seite von Docker Compose und notieren Sie sich die neueste Versionsnummer. Zum Zeitpunkt des Schreibens war es 1.29.0.

Ersetzen Sie die angezeigte Version anstelle von 1.29.0 im folgenden Befehl. Dadurch wird die richtige Binärdatei für Ihr System heruntergeladen und in/usr/local/bin abgelegt.

sudo curl -L “https://github.com/docker/compose/releases/download/1.29.0/docker -compose – $ (uname -s) – $ (uname -m) “-o/usr/local/bin/docker-compose

Als nächstes machen Sie die Datei ausführbar:

sudo chmod + x/usr/local/bin/docker-compose

Sie können jetzt den Befehl docker-compose in Ihrem Terminal verwenden. Versuchen Sie, Docker-Compose – Version auszuführen, um dies zu überprüfen.

Erstellen einer einfachen Docker-Compose-Datei

Um Docker-Compose verwenden zu können, müssen Sie eine Docker-Compose.yml-Datei erstellen. Hier werden die Container beschrieben, aus denen der Stapel Ihrer Anwendung besteht. Sie können Portbindungen, Umgebungsvariablen, Netzwerke und Volumes angeben, die von Ihren Containern verwendet werden.

Container, die in derselben Datei docker-compose.yml deklariert sind, werden automatisch Teil desselben Stapels. Sie sind zu einem Docker-Netzwerk miteinander verbunden, sodass sie unter Verwendung ihrer Docker-Compose.yml-Dienstnamen als Hostnamen miteinander kommunizieren können.

Hier ist eine einfache docker-compose.yml zum Ausführen eines PHP-Webservers und einer MySQL-Datenbank:

Version: & quot; 3 & quot; services: app: image: php8.0-apache-Umgebung: – MYSQL_SERVER = mysql – MYSQL_USERNAME = root – MYSQL_PASSWORD = Beispielports: – $ & # 123; PORT: -80 & # 125 ;: 80 Neustart: sofern nicht gestoppt mysql: image : mysql: 8.0 expose: – 3306 Umgebung: – MYSQL_ROOT_PASSWORD-Volumes: – mysql:/var/lib/mysql Neustart: Sofern nicht gestoppt: mysql:

Sie können beide Dienste starten, indem Sie docker-compose up -d ausführen. Sie werden sehen, dass beide Bilder von Docker Hub abgerufen werden. Die Container werden dann gestartet. Sie können beide mit Docker-Compose Stop stoppen. Verwenden Sie Docker-Compose Down, um die Container zu entfernen.

Die Beispiel-YAML-Datei enthält einige Docker Compose-Funktionen. Container werden unter dem Dienstknoten definiert, wobei jeder Container sein Docker-Image deklariert. Sie können Shell-Umgebungsvariablen an Container (Umgebungen) übergeben und Docker-Portbindungen (Ports) einrichten. Umgebungsvariablen können mit der Syntax $ {VARIABLE: -DEFAULT} in Zeichenfolgen interpoliert werden. Wenn die Variable in Ihrer Shell nicht festgelegt ist, wird stattdessen DEFAULT als Wert verwendet. Weitere Informationen zu Docker Compose finden Sie in unserem speziellen Handbuch.

Zusammenfassung

Sie können Docker problemlos mit den Paketmanagern gängiger Linux-Distributionen installieren. Fügen Sie das Docker-Repository hinzu und installieren Sie dann docker-ce, docker-ce-cli und containerd.io. Diese Komponenten bieten Ihnen alles, was Sie zum Erstellen und Ausführen Ihrer Container benötigen.

Sobald Sie betriebsbereit sind, können Sie eine Docker-Datei schreiben und Docker Build -t my-App: latest verwenden. um es zu bauen. Verwenden Sie dann Docker run my-app: spätestens, um Ihren Container zu starten.

Docker-Compose ist eine zusätzliche Abstraktionsschicht, die das Ausführen eines & # 8220; Stacks & # 8221; von mehreren Containern. Mit Compose müssen Sie nicht mehrere Befehle manuell hintereinander ausführen. Sie können eine deklarative YAML-Datei schreiben und Docker-Compose verwenden, um alle Ihre Container gleichzeitig zu starten.


Posted

in

by

Tags: