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

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 leichtgewichtigen virtuellen Maschinen. Mit ihnen können Sie portable Anwendungs-Images erstellen, die unter Verwendung des Betriebssystem-Kernels Ihres Hosts ausgeführt werden.

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

Mit Docker Compose können Sie Stapel aus mehreren Containern erstellen und ausführen. Sie erstellen eine YAML-Datei, die die Container Ihrer Anwendung konfiguriert. Sie können dann alle Container mit einem einzigen Befehl starten und miteinander verknüpfen. Compose hilft Ihnen, die Komponenten Ihres Stacks in einzelne containerisierte Dienste aufzuteilen.

Compose wird unabhängig von Docker verteilt. Installieren Sie Docker, bevor Sie Compose hinzufügen – andernfalls kann Compose nicht funktionieren.

VERBINDUNG: Verwendung von Docker zur Containerisierung von PHP und Apache

Installieren Sie Docker

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, die für den Installationsprozess benötigt werden:

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

Fügen Sie als Nächstes den GPG-Schlüssel des Docker-Repositorys 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 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Jetzt können Sie Docker installieren:

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

Fedora

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

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

Docker installieren:

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

CentOS

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

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

Docker installieren:

sudo yum install docker-ce docker-ce-cli containerd.io

Verwendung von Docker ohne Sudo

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. Sich selbst zum docker hinzufügen group können Sie Docker ohne sudo verwenden .

sudo usermod -aG docker $USER

Sobald Sie in der Gruppe sind, melden Sie sich ab und wieder an. Führen Sie alternativ den newgrp docker aus Befehl, um sich sofort bei der aktualisierten Gruppe anzumelden. Sie sollten jetzt sudo löschen können von Docker-Befehlen.

Testen Ihrer Docker-Installation

Jetzt ist Docker installiert, es ist Zeit zu testen, ob es funktioniert! Sie können das minimale hello-world verwenden Bild.

docker run hello-world:latest

Sie sollten einige Ausgabezeilen in Ihrem Terminal sehen. Docker sucht zuerst nach hello-world:latest Bild auf Ihrer Maschine. Da es nicht existiert, wird das Image dann aus dem Docker Hub-Repository gezogen.

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

Verwalten des Docker-Dienstes

Sie können überprüfen, ob Docker läuft, indem Sie seinen Dienst mit systemctl überprüfen . Es müssen zwei Komponenten berücksichtigt werden, docker und containerd . docker ist der Docker Engine-Daemon, an den die CLI Befehle sendet. containerd ist die zugrunde liegende Laufzeit, die Ihre Container tatsächlich ausführt.

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

Sie können die Daemons wie jeden anderen Dienst auf Ihrem System verwalten. Verwenden Sie systemctl stop wenn Sie Docker vorübergehend stoppen und von Ihren Containern verwendete 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 wird. Die meisten populären Linux-Distributionen enthalten Compose in ihren Paketmanagern, aber es kann 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 Version, die Sie sehen, 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 docker-compose verwenden Befehl in Ihrem Terminal. Versuchen Sie, docker-compose --version auszuführen zu überprüfen.

Erstellen einer einfachen Docker-Compose-Datei

So verwenden Sie docker-compose Sie müssen eine docker-compose.yml erstellen Datei. Dies beschreibt die Container, die den Stack Ihrer Anwendung bilden. Sie können Portbindungen, Umgebungsvariablen, Netzwerke und Volumes angeben, die von Ihren Containern verwendet werden.

Container, die in derselben docker-compose.yml deklariert sind Datei automatisch Teil desselben Stacks. Sie sind in einem Docker-Netzwerk miteinander verbunden, sodass sie über ihre docker-compose.yml miteinander kommunizieren können Dienstnamen als Hostnamen.

Hier ist eine einfache docker-compose.yml um einen PHP-Webserver und eine MySQL-Datenbank auszuführen:

version: "3"

services:
  app:
    image: php8.0-apache
    environment:
      - MYSQL_SERVER=mysql
      - MYSQL_USERNAME=root
      - MYSQL_PASSWORD=example
    ports:
      - ${PORT:-80}:80
    restart: unless-stopped
  mysql:
    image: mysql:8.0
    expose:
      - 3306
    environment:
      - MYSQL_ROOT_PASSWORD
    volumes:
      - mysql:/var/lib/mysql
    restart: unless-stopped

volumes:
  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. Anschließend werden die Container gestartet. Sie können beide mit docker-compose stop stoppen . Verwenden Sie docker-compose down um die Behälter zu entfernen.

Die YAML-Beispieldatei zeigt einige Docker Compose-Funktionen. Container werden unter den services definiert -Knoten, wobei jeder Container sein Docker-image deklariert . Sie können Shell-Umgebungsvariablen an Container übergeben (environments ) und Docker-Portbindungen einrichten (ports ). Umgebungsvariablen können mithilfe von ${VARIABLE:-DEFAULT} in Zeichenfolgen interpoliert werden Syntax. Wenn die Variable in Ihrer Shell nicht gesetzt ist, DEFAULT wird stattdessen als Wert verwendet. Weitere Informationen zu Docker Compose finden Sie in unserem speziellen Leitfaden.

Zusammenfassung

Sie können Docker einfach über die Paketmanager 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 einsatzbereit sind, können Sie ein Dockerfile schreiben und verwenden Sie docker build -t my-app:latest . es zu bauen. Verwenden Sie dann docker run my-app:latest um Ihren Container zu starten.

Docker-Compose ist eine zusätzliche Abstraktionsschicht, die es einfacher macht, einen „Stapel“ aus mehreren Containern zu betreiben. Mit Compose müssen Sie nicht mehrere Befehle manuell hintereinander ausführen. Sie können eine deklarative YAML-Datei schreiben und docker-compose up verwenden um alle Ihre Container gemeinsam zu starten.

VERBINDUNG: Was ist Docker Compose und wie wird es verwendet?


Docker
  1. So installieren Sie Docker auf einem Fedora-Linux-System

  2. So installieren und verwenden Sie Docker unter Ubuntu 18.04

  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

So installieren Sie Docker unter Linux Mint 20

So installieren und verwenden Sie Docker Compose unter Ubuntu 20.04

So installieren und verwenden Sie Docker Compose unter Ubuntu 22.04

So installieren Sie Docker Compose auf Ubuntu

So installieren Sie Docker unter Rocky Linux und AlmaLinux

So installieren und verwenden Sie Docker unter Ubuntu 20.04