Android

Installieren und Verwenden von Docker Compose auf Centos 7

Eigenes Docker Image mit Dockerfile erstellen

Eigenes Docker Image mit Dockerfile erstellen

Inhaltsverzeichnis:

Anonim

Docker Compose ist ein Tool, mit dem Sie Docker-Anwendungen für mehrere Container definieren und ausführen können.

Mit Compose definieren Sie die Dienste, Netzwerke und Volumes der Anwendung in einer einzigen YAML-Datei und drehen dann Ihre Anwendung mit einem einzigen Befehl.

Compose kann für verschiedene Zwecke verwendet werden, z. B. für die Bereitstellung einzelner Hostanwendungen, für automatisierte Tests und für die lokale Entwicklung.

Dieses Tutorial führt Sie durch die Installation der neuesten Version von Docker Compose unter CentOS 7. Außerdem werden die grundlegenden Konzepte und Befehle von Docker Compose behandelt.

Voraussetzungen

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

  • Als Benutzer mit sudo-Berechtigungen angemeldet. Haben Sie Docker auf Ihrem CentOS 7-System installiert.

Installieren Sie Docker Compose unter CentOS

Die empfohlene Methode zum Installieren von Docker Compose unter CentOS 7 ist das Herunterladen der Compose-Binärdatei aus dem GitHub-Repository von Docker.

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 Compose-Repository-Release-Seite von GitHub und prüfen Sie, ob eine neue Version zum Herunterladen verfügbar ist.

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

  1. Laden Sie zunächst die Docker Compose-Binärdatei mit dem folgenden Befehl curl in das Verzeichnis /usr/local/bin herunter:

    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

    Sobald der Download abgeschlossen ist, machen Sie die Binärdatei ausführbar, indem Sie Folgendes eingeben:

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

    Um die Installation zu überprüfen, geben Sie den folgenden Befehl ein, um die Compose-Version zu drucken:

    docker-compose --version

    Die Ausgabe sieht ungefähr so ​​aus:

    docker-compose version 1.23.1, build b02f1306

Erste Schritte mit Docker Compose

In diesem Abschnitt wird gezeigt, wie Sie mit Docker Compose einen WordPress-Stapel auf Ihrem CentOS 7-Computer ausführen.

Erstellen Sie zunächst ein neues Verzeichnis für das Projekt und navigieren Sie dorthin:

mkdir my_app && cd my_app

Erstellen Sie als Nächstes eine Datei mit dem Namen docker-compose.yml im Projektverzeichnis:

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.

Die erste Zeile gibt die Compose-Dateiversion an. Es gibt 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.

Der db service:

  • Verwendet das mysql:5.7 Image. Wenn das Image auf Ihrem System nicht vorhanden ist, wird es von Compose aus dem öffentlichen Repository von Docker Hub abgerufen. Verwendet die db_data restart always , die den Container anweist, immer neu zu starten. Erstellt ein benanntes Volume db_data , um die Datenbank persistent zu machen das mysql:5.7 bild.

Der wordpress Service:

  • Verwendet das wordpress Bild. Wenn das Image auf Ihrem System nicht vorhanden ist, wird es von Compose aus dem öffentlichen Repository von Docker Hub abgerufen. Verwendet die wp_data restart always , die den Container anweist, immer neu zu starten. wp_data Verzeichnis wp_data auf dem Host in /var/lib/mysql container. Leitet den freigelegten Port 80 des Containers an den Port 8080 des Host-Rechners weiter. Definiert die Umgebungsvariablen für das wordpress Image. Die depends_on Anweisung definiert die Abhängigkeit zwischen den beiden Diensten. In diesem Beispiel wird db vor wordpress gestartet.

Starten Sie die WordPress-Anwendung aus dem Projektverzeichnis mit dem folgenden Befehl:

docker-compose up

Die Ausgabe sollte ungefähr so ​​aussehen:

… wordpress_1 | AH00163: Apache/2.4.25 (Debian) PHP/7.2.10 configured -- resuming normal operations wordpress_1 | AH00094: Command line: 'apache2 -D FOREGROUND'

Compose wp_data beide Images ab, startet zwei Container und erstellt das Verzeichnis wp_data in Ihrem Projektverzeichnis.

Öffnen Sie Ihren Browser, http://0.0.0.0:8080/ Sie http://0.0.0.0:8080/ ein und Sie sehen den Wordpress-Installationsbildschirm.

Zu diesem Zeitpunkt ist die WordPress-Anwendung betriebsbereit und Sie können mit der Arbeit an Ihrem Thema oder Plugin beginnen.

Um das Verfassen zu stoppen, drücken Sie CTRL+C Umgebungsvariablen Wenn Sie Compose in einem getrennten Modus starten möchten, verwenden Sie das Flag -d :

docker-compose up -d

Um die ausgeführten Dienste zu überprüfen, verwenden Sie die Option ps :

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 Verwendung der Dienste zu beenden, gehen Sie wie folgt vor:

docker-compose stop

Um die Container vollständig zu entfernen, verwenden Sie die Option down :

docker-compose down

Durch --volumes Schalters --volumes werden auch die Datenvolumes entfernt:

docker-compose down --volumes

Docker Compose deinstallieren

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

Fazit

Sie haben gelernt, wie Sie Docker Compose auf einem CentOS 7 installieren und verwenden.

Docker Centos