GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren und verwenden Sie Docker Compose unter Debian 10 Linux

Docker ist eine Containerisierungsplattform, mit der Sie Anwendungen schnell als tragbare, autarke Container erstellen, testen und bereitstellen können, die praktisch überall ausgeführt werden können.

Docker Compose ist ein Tool, mit dem Sie Docker-Anwendungen mit mehreren Containern definieren und orchestrieren können. Es verwendet eine YAML-Datei, um die Container, Netzwerke und Volumes der Anwendung zu konfigurieren.

Compose kann für verschiedene Zwecke verwendet werden. Bereitstellungen von Einzelhostanwendungen, automatisierte Tests und lokale Entwicklung sind die beliebtesten Anwendungsfälle für Docker Compose.

Dieses Tutorial erklärt, wie Sie die neueste Version von Docker Compose auf Debian 10, Buster installieren. Wir werden auch die grundlegenden Docker Compose-Konzepte und -Befehle untersuchen.

Voraussetzungen #

Bevor Sie fortfahren, vergewissern Sie sich, dass Sie die folgenden Voraussetzungen erfüllt haben:

  • Als Benutzer mit sudo-Berechtigungen angemeldet.
  • Sie haben Docker auf Ihrem Debian 10-Rechner installiert.

Installieren von Docker Compose unter Debian 10 #

Das Docker Compose-Installationspaket ist in den offiziellen Debian 10-Repositories verfügbar, aber es ist möglicherweise nicht immer die neueste Version. Der empfohlene Ansatz besteht darin, Docker Compose aus dem GitHub-Repository von Docker zu installieren.

Zum Zeitpunkt der Erstellung dieses Artikels ist die neueste stabile Version von Docker Compose Version 1.23.1 . Besuchen Sie vor dem Herunterladen der Compose-Binärdatei die Release-Seite des Compose-Repositorys auf GitHub und prüfen Sie, ob eine neue Version zum Herunterladen verfügbar ist.

Verwenden Sie die folgenden Schritte, um die neueste Version von Docker Compose auf Debian 10 zu installieren:

  1. Laden Sie die Docker Compose-Binärdatei in /usr/local/bin herunter Verzeichnis mit wget oder curl :

    sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  2. Verwenden Sie chmod um die Compose-Binärdatei ausführbar zu machen:

    sudo chmod +x /usr/local/bin/docker-compose
  3. Um die Installation zu überprüfen, verwenden Sie den folgenden Befehl, der die Compose-Version druckt:

    docker-compose --version

    Die Ausgabe sieht in etwa so aus:

    docker-compose version 1.23.1, build b02f1306

Erste Schritte mit Docker Compose #

In diesem Abschnitt zeigen wir, wie Sie mit Docker Compose eine lokale WordPress-Entwicklungsumgebung einrichten.

Erstellen Sie ein Verzeichnis für das Projekt und navigieren Sie darin:

mkdir wordpress_app && cd wordpress_app

Öffnen Sie Ihren Texteditor und erstellen Sie eine Datei namens docker-compose.yml :

nano docker-compose.yml

Fügen Sie den folgenden Inhalt ein:

docker-compose.yml
version: '3.7'

services:
  db:
    image: mysql:8.0
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: wordpress

  wordpress:
    image: wordpress
    restart: always
    volumes:
      - ./wp_data:/var/www/html
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: password
    depends_on:
       - db

volumes:
    db_data:
    wp_data:

Lassen Sie uns den Code Zeile für Zeile erklären

Die erste Zeile gibt die Compose-Dateiversion an. Es gibt mehrere verschiedene Versionen des Compose-Dateiformats mit Unterstützung für bestimmte Docker-Versionen.

Als nächstes definieren wir zwei Dienste, db und wordpress . Jeder Dienst erstellt einen separaten Container, wenn Docker Compose ausgeführt wird.

Die db Dienst:

  • Das Bild ist auf mysql:8.0 eingestellt Bild. Wenn das Image nicht vorhanden ist, zieht Compose es aus dem öffentlichen Docker Hub-Repository. Die Zeile, die mit command beginnt überschreibt den Standardbefehl.
  • Der restart: always Die Richtlinie weist Compose an, den Container neu zu starten, wenn er ausfällt.
  • Der Container verwendet ein benanntes Volume db_data um die Datenbank zu persistieren.
  • Definiert die Umgebungsvariablen für mysql:8.0 Bild.

Die wordpress Dienst:

  • Verwendet wordpress Bild.
  • Mountt die wp_data Verzeichnis auf dem Host nach /var/lib/mysql im Behälter.
  • Leitet den exponierten Port 80 weiter auf dem Container auf Port 8080 auf dem Host-Rechner.
  • Definiert die Umgebungsvariablen für wordpress Bild.
  • Der depends_on ab Instruktion definiert die Abhängigkeit zwischen den beiden Diensten. In diesem Beispiel db wird vor wordpress gestartet .

Starten Sie im Projektverzeichnis den WordPress-Stack, indem Sie den folgenden Befehl ausführen:

docker-compose up

Die Ausgabe sollte in etwa so aussehen:

...
] /usr/sbin/mysqld: ready for connections. Version: '8.0.18'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
db_1_99946702ac7e | 2019-12-15T21:37:29.109255Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/var/run/mysqld/mysqlx.sock' bind-address: '::' port: 33060
...

Docker Compose zieht die Bilder, startet die Container und erstellt die wp_data Verzeichnis in Ihrem Projektverzeichnis.

Geben Sie http://0.0.0.0:8080/ ein in Ihrem Browser und Sie sehen den Standard-WordPress-Installationsbildschirm.

An diesem Punkt ist die WordPress-Anwendung betriebsbereit und Sie können damit beginnen, daran zu arbeiten.

Um Compose zu stoppen, drücken Sie CTRL+C .

Sie können Compose auch in einem getrennten Modus starten, indem Sie -d verwenden Möglichkeit:

docker-compose up -d

Um die laufenden Docker-Container anzuzeigen, verwenden Sie den folgenden Befehl:

docker-compose ps
                 Name                               Command               State          Ports        
------------------------------------------------------------------------------------------------------
wordpress_app_db_1_99946702ac7e          docker-entrypoint.sh --def ...   Up      3306/tcp, 33060/tcp 
wordpress_app_wordpress_1_a428d8408817   docker-entrypoint.sh apach ...   Up      0.0.0.0:8080->80/tcp 

Um die Dienste zu stoppen, wenn Compose im getrennten Modus ausgeführt wird, verwenden Sie:

docker-compose stop

Wenn Sie die Container vollständig entfernen möchten, verwenden Sie den down Möglichkeit:

docker-compose down

Übergeben der --volumes Schalten Sie auch das Datenvolumen entfernen:

docker-compose down --volumes

Docker Compose deinstallieren #

Wenn Sie Docker Compose deinstallieren müssen, können Sie die Binärdatei einfach entfernen, indem Sie Folgendes eingeben:

sudo rm /usr/local/bin/docker-compose

Debian
  1. So installieren Sie Docker unter Debian 10 Buster Linux

  2. So installieren und verwenden Sie Debian-Backports

  3. So installieren und verwenden Sie Ansible unter Debian 11

  4. So installieren Sie Docker und Docker Compose unter Debian 11

  5. So installieren und verwenden Sie Docker Compose unter CentOS

So installieren und verwenden Sie FFmpeg unter Debian 11

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 und Docker Compose unter Linux

So installieren und verwenden Sie Docker Compose unter Debian 11

So installieren und verwenden Sie PHP Composer unter Debian 11 Linux