GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren und verwenden Sie Docker Compose unter Ubuntu 18.04

Docker Compose ist ein Tool, mit dem Sie Docker-Anwendungen mit mehreren Containern definieren und verwalten können. Es verwendet eine YAML-Datei, um die Dienste, 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.

In diesem Tutorial zeigen wir Ihnen, wie Sie die neueste Version von Docker Compose unter Ubuntu 18.04 installieren und die grundlegenden Docker Compose-Konzepte und -Befehle untersuchen.

Dieselben Anweisungen gelten für Ubuntu 16.04 und alle anderen Debian-basierten Distributionen, einschließlich Debian, Linux Mint und Elementary OS.

Voraussetzungen #

Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben, bevor Sie mit diesem Lernprogramm fortfahren:

  • Als Benutzer mit sudo-Berechtigungen angemeldet.
  • Installieren Sie Docker gemäß den Anweisungen unter How To Install and Use Docker on Ubuntu 18.04.

Installieren Sie Docker Compose auf Ubuntu #

Das Docker Compose-Installationspaket ist in den offiziellen Ubuntu 18.04-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 . Bevor Sie die Compose-Binärdatei herunterladen, besuchen Sie die Compose-Repository-Release-Seite auf GitHub und prüfen Sie, ob eine neue Version zum Download verfügbar ist.

Führen Sie die folgenden Schritte aus, um Docker Compose unter Ubuntu 18.04 zu installieren:

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

    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. Wenden Sie nach Abschluss des Downloads ausführbare Berechtigungen auf die Compose-Binärdatei an:

    sudo chmod +x /usr/local/bin/docker-compose
  3. Überprüfen Sie die Installation, indem Sie den folgenden Befehl ausführen, der die Compose-Version anzeigt:

    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 Multi-Container-WordPress-Anwendung auf Ubuntu 18.04 einrichten.

Erstellen Sie zunächst ein Projektverzeichnis und navigieren Sie darin:

mkdir my_appcd my_app

Starten Sie Ihren Texteditor und erstellen Sie eine Datei namens docker-compose.yml innerhalb des Projektverzeichnisses:

nano docker-compose.yml

Fügen Sie den folgenden Inhalt ein:

docker-compose.yml
version: '3.3'

services:
  db:
    image: mysql:5.7
    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 analysieren.

In der ersten Zeile geben wir die Version der Compose-Datei 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 führt ein Image aus und erstellt einen separaten Container, wenn docker-compose ausgeführt wird.

Die db Dienst:

  • Verwendet mysql:5.7 Bild. Wenn das Image nicht auf dem System vorhanden ist, wird es aus dem öffentlichen Repository von Docker Hub gezogen.
  • Verwendet den Neustart always Richtlinie, die den Container anweist, immer neu zu starten.
  • Erzeugt ein benanntes Volume db_data um die Datenbank persistent zu machen.
  • Definiert die Umgebungsvariablen für mysql:5.7 Bild.

Die wordpress Dienst:

  • Verwendet wordpress Bild. Wenn das Image auf Ihrem System nicht vorhanden ist, ruft Compose es aus dem öffentlichen Docker-Hub-Repository ab.
  • Verwendet den Neustart always Richtlinie, die den Container anweist, immer neu zu starten.
  • Mountt die wp_data Verzeichnis auf dem Host nach /var/lib/mysql im Behälter.
  • Leitet den exponierten Port 80 auf dem Container an Port 8080 auf dem Host-Rechner weiter.
  • 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 aus dem Projektverzeichnis die WordPress-Anwendung, indem Sie den folgenden Befehl ausführen:

docker-compose up

Die Ausgabe sollte in etwa so aussehen:

...
wordpress_1  | [Sun Sep 23 22:31:43.499055 2018] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.25 (Debian) PHP/7.2.10 configured -- resuming normal operations
wordpress_1  | [Sun Sep 23 22:31:43.499796 2018] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'

Compose zieht beide Bilder, startet zwei 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 Wordpress-Installationsbildschirm.

An diesem Punkt ist die Wordpress-Anwendung betriebsbereit und Sie können mit der Arbeit an Ihrem Design oder Plugin beginnen.

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

Sie können Compose auch in einem getrennten Modus starten, indem Sie -d übergeben Flagge.

docker-compose up -d

Um die laufenden Dienste zu überprüfen, verwenden Sie den ps Möglichkeit:

docker-compose ps
       Name                     Command               State          Ports        
----------------------------------------------------------------------------------
my_app_db_1          docker-entrypoint.sh mysqld      Up      3306/tcp, 33060/tcp 
my_app_wordpress_1   docker-entrypoint.sh apach ...   Up      0.0.0.0:8080->80/tcp

Wenn Compose im getrennten Modus ausgeführt wird, um die Dienste zu stoppen, 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 Schalter entfernt auch die Datenmengen:

docker-compose down --volumes

Docker Compose deinstallieren #

Wenn Sie Docker Compose aus irgendeinem Grund deinstallieren möchten, können Sie die Binärdatei einfach entfernen, indem Sie Folgendes eingeben:

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

Ubuntu
  1. So installieren Sie Docker Compose unter Ubuntu 18.04

  2. So installieren und verwenden Sie Docker unter Ubuntu 20.04

  3. So installieren und verwenden Sie Docker in Ubuntu 20.04

  4. So installieren und verwenden Sie Docker Compose unter CentOS

  5. So installieren Sie Docker Compose unter Ubuntu 18.04

So installieren und verwenden Sie R unter Ubuntu

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 Sie Docker Compose auf Ubuntu

So installieren und verwenden Sie Docker unter Ubuntu 20.04