Grundlegenden Graphen aus einer Compose-Datei generieren
In diesem Schritt lernen Sie, wie Sie eine grundlegende graphische Darstellung Ihrer Docker Compose-Datei erstellen. Dies ist nützlich, um die Beziehungen zwischen Ihren Services, Netzwerken und Volumes zu visualisieren.
Zuerst müssen Sie Docker Compose installieren. Da es in der LabEx-Umgebung nicht vorinstalliert ist, installieren Sie es mit pip
.
sudo apt update
sudo apt install -y python3-pip
pip install docker-compose
Nach Abschluss der Installation können Sie diese überprüfen, indem Sie die Version von Docker Compose abfragen.
docker-compose --version
Sie sollten eine Ausgabe ähnlich zu docker-compose version 1.29.2, build 5becea4c
sehen.
Erstellen wir nun eine einfache Docker Compose-Datei. Navigieren Sie zu Ihrem Projektverzeichnis und erstellen Sie eine Datei namens docker-compose.yml
.
cd ~/project
nano docker-compose.yml
Fügen Sie folgenden Inhalt zur docker-compose.yml
-Datei hinzu:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
app:
image: ubuntu:latest
command: sleep infinity
Diese docker-compose.yml
-Datei definiert zwei Services: web
mit dem nginx:latest
-Image und app
mit dem ubuntu:latest
-Image. Der web
-Service mappt Port 80 des Hosts auf Port 80 im Container. Der app
-Service führt einfach den Befehl sleep infinity
aus, um den Container am Laufen zu halten.
Um einen grundlegenden Graphen aus dieser Compose-Datei zu generieren, verwenden Sie den Befehl docker-compose config
mit dem --graph
-Flag. Dieser Befehl analysiert die Compose-Datei und gibt eine graphische Darstellung im DOT-Format aus.
docker-compose config --graph
Die Ausgabe erfolgt in der DOT-Sprache, einer Graph-Beschreibungssprache. Sie zeigt die Services und ihre grundlegenden Verbindungen. Beispielsweise könnte die Ausgabe so aussehen:
digraph {
compound=true
"web" [label="web"]
"app" [label="app"]
"web" -> "app" [label="depends_on"]
}
Diese DOT-Ausgabe repräsentiert einen gerichteten Graphen, bei dem web
und app
Knoten sind und eine gerichtete Kante von web
zu app
mit der Beschriftung "depends_on" existiert. Obwohl dieses einfache Beispiel keine expliziten Abhängigkeiten definiert, kann docker-compose config --graph
einige Beziehungen ableiten.