Einführung
Docker Compose ist ein Tool zum Definieren und Ausführen von Docker-Anwendungen mit mehreren Containern. Es ermöglicht Benutzern, Container mit einem einzigen koordinierten Befehl zu starten, auszuführen, zu kommunizieren und zu schließen.
Diese Anleitung zeigt Ihnen, wie Sie Docker Compose auf Ubuntu installieren.
Voraussetzungen
- Ein System, auf dem Ubuntu 18.04 ausgeführt wird
- Ein Benutzerkonto mit sudo Privilegien
- Docker auf Ubuntu 18.04 installiert
- Ein Befehlszeilen-/Terminalfenster (Strg-Alt-T )
Schritte zum Installieren von Docker Compose auf Ubuntu
Software-Repositories und -Pakete aktualisieren
Beginnen Sie mit der Aktualisierung der Software-Repositories und Softwarepakete. Öffnen Sie ein Terminalfenster und geben Sie Folgendes ein:
sudo apt-get update
sudo apt-get upgrade
Überprüfen Sie die curl
Befehl durch Eingabe von:
curl
Das System sollte wie im Bild unten zu sehen reagieren:
Wenn Sie eine andere Meldung sehen, wie curl: command not found
, müssen Sie es installieren.
Geben Sie Folgendes ein, um curl zu installieren:
sudo apt install curl
Laden Sie die neueste Docker Compose-Version herunter
1. Um die neueste Version von Docker Compose herunterzuladen, verwenden Sie den Befehl:
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Dadurch wird Docker Container 1.24.0 heruntergeladen. (Zum Zeitpunkt der Erstellung dieses Artikels ist Docker Compose 1.24.0 die neueste Version.)
- Das
–L
Option weist das System an, Weiterleitungen zu folgen, falls die Datei verschoben wurde - Wenn Sie eine andere Version von Docker Compose wünschen, können Sie die Liste durchsuchen und /1.24.0/ durch Ihre bevorzugte Version ersetzen
- Der
–o
Option ändert den Dateinamen, sodass er einfacher einzugeben ist - Die Datei wird in /usr/local/bin/ gespeichert
2. Ändern Sie als Nächstes die Dateiberechtigungen, damit die neue Software unter Ubuntu ausgeführt werden kann:
sudo chmod +x /usr/local/bin/docker-compose
Sie müssen kein Installationsskript für Docker Compose ausführen. Nach dem Herunterladen ist die Software einsatzbereit.
Überprüfen Sie die Installation von Docker Compose
Um zu testen, ob die Installation erfolgreich war, überprüfen Sie die Version mit:
docker–compose –version
Die Ausgabe sollte ungefähr so aussehen:
So deinstallieren Sie Docker Compose
Um Docker Compose zu deinstallieren, löschen Sie einfach die Binärdatei:
sudo rm /usr/local/bin/docker-compose
Wenn Sie Docker Compose mit apt-get
installiert haben verwenden Sie den folgenden Befehl, um das Paket zu deinstallieren:
sudo apt-get remove docker-compose
Führen Sie als Nächstes einen Befehl aus, um unnötige Softwareabhängigkeiten zu entfernen:
sudo apt-get autoremove
Erste Schritte mit Docker Compose
Beispielcontainer mit Docker Compose ausführen
1. Wechseln Sie zurück in Ihr Home-Verzeichnis (falls erforderlich):
cd ~
2. Erstellen und wechseln Sie in ein neues Verzeichnis:
mkdir hello–world
cd hello–world
3. Erstellen und bearbeiten Sie eine neue YAML-Konfigurationsdatei:
sudo nano docker-compose.yml
YAML ist eine Art Konfigurationsdatei. Diese Datei erstellt einen Container namens test-file basierend auf dem Hello World-Image auf Docker Hub.
4. Geben Sie im Editor folgenden Text ein:
version: '2'
services:
hello-world:
image:
hello-world:latest
5. Drücken Sie Strg-X zum Beenden> Y um die Datei zu speichern> Enter.
Wenn Sie bereits vorhandene Images auf Ihrem System haben, können Sie eine Liste mit dem Befehl anzeigen:
sudo docker images
Wenn Sie diesen Befehl jetzt ausführen, wird eine leere Liste generiert. Docker lädt das Image basierend auf dieser Konfigurationsdatei automatisch herunter.
Geben Sie ein:
sudo docker–compose up
Docker sucht nach einer lokalen hello-world Bild. Wenn es keine finden kann, wird es eine herunterladen. Dann erstellt Docker einen Container, startet ihn und führt dann hello-world aus Skript. Sie sollten die Ausgabe wie folgt auf Ihrem Bildschirm sehen:
Docker-compose erstellt nun einen Container und führt das hello-Programm aus. Diese Aktion bestätigt, dass die Installation funktioniert.
Außerdem wird eine Erläuterung der abgeschlossenen Aktionen angezeigt:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.
Sobald dieser Vorgang abgeschlossen ist, schließt Docker den Container. Am Ende der Ausgabe sollte eine Eingabeaufforderung angezeigt werden.
Docker-Images und -Container auflisten
So zeigen Sie eine Liste aller lokal gespeicherten Docker-Images an:
sudo docker images ls –a
Der –a
Option zeigt alle Docker-Bilder. Sie sollten eine Auflistung mit hello-world sehen Bild.
Um eine Liste aller Container zu sehen, verwenden Sie:
sudo docker ps -a
So zeigen Sie alle derzeit ausgeführten Container an:
sudo docker ps
Beachten Sie, dass diese Liste leer ist. Das zeigt Ihnen einmal die Hallo-Welt Bild abgeschlossen ist, wird es automatisch geschlossen.
Entfernen Sie ein Docker-Image und einen Container
Um ein Docker-Image zu entfernen, müssen Sie seine IMAGE-ID kennen. Verwenden Sie den Befehl zum Auflisten von Bildern aus der obigen Passage, um diese Informationen zu kopieren.
Sobald Sie die ID haben, führen Sie die folgende Syntax aus, um dieses Bild zu löschen:
docker image rm [IMAGE_ID]
Sie können auch diesen Befehl verwenden, um mehrere Docker-Images zu entfernen:
docker image rm [IMAGE_ID1] [IMAGE_ID2] [IMAGE_ID3]
Verwenden Sie zum Entfernen eines Docker-Containers:
docker rm [CONTAINER_ID]
Ersetzen Sie [CONTAINER_ID] mit der tatsächlichen Container-ID.
Da dies ein Test ist, müssen wir keinen Speicherplatz mit alten Bildern binden. Deshalb löschen wir das Beispielbild. Sie können ein Bild erst entfernen, wenn Sie alle damit verknüpften Container entfernt haben.
Entfernen Sie zuerst den Container:
docker rm [CONTAINER_ID]
Da Sie nur den einen Container verwendet haben, sollten Sie das Bild entfernen können:
docker rmi hello-world