Reviewed-on: #4
Dockernet Inspector
Ein Bash-Script zur Verwaltung und Analyse von Docker-Netzwerken.
Beschreibung
Dockernet Inspector hilft bei der täglichen Arbeit mit Docker-Netzwerken durch zwei Nutzungsmodi:
Interaktiver Modus (Menü):
- Benutzerfreundliches Menü ohne Kommandozeilenargumente
- Intuitive Netzwerk-Auswahl aus einer Liste
- Fehlerbehandlung bei ungültigen Eingaben
Kommandozeilen-Modus (CLI):
- Schnelle automatisierte Abfragen
- Scripting-freundlich
- Rückwärtskompatibel
Das Script bietet vier Hauptfunktionen:
- Alle Netzwerke auflisten
- Netzwerk-Details inspizieren
- Belegte IPs pro Netzwerk anzeigen
- Belegte IPs in allen Netzwerken anzeigen (aufsteigend sortiert)
Beim Inspizieren eines Netzwerks werden u. a. folgende Informationen angezeigt:
- Netzwerk-Driver (bridge, overlay, host, ...)
- Bridge-Interface auf dem Host
- Subnet und Gateway
- Interface-Status (operstate)
- RX/TX Netzwerk-Statistiken
Installation
- Repository klonen:
git clone https://git.techniverse.net/scriptos/dockernet-inspector.git
cd dockernet-inspector
- Script ausführbar machen:
chmod +x dockernet-inspector.v1.sh
Verwendung
Das Script kann auf zwei Arten verwendet werden:
1. Interaktiver Modus (Menü)
bash ./dockernet-inspector.v1.sh
Das Script startet dann ein interaktives Menü, über das Sie folgende Optionen wählen können:
- 1 - Alle Netzwerke auflisten
- 2 - Detaillierte Infos zu einem Netzwerk (mit Netzwerk-Auswahl)
- 3 - IPs eines Netzwerks anzeigen (mit Netzwerk-Auswahl)
- 4 - Alle belegten IPs anzeigen
- 0 - Beenden
2. Kommandozeilen-Modus (CLI)
bash ./dockernet-inspector.v1.sh [BEFEHL] [OPTIONEN]
Verfügbare Befehle
| Befehl | Beschreibung |
|---|---|
| (keine) | Startet interaktiven Modus |
networks |
Listet alle verfügbaren Docker-Netzwerke auf |
inspect <netzwerk> |
Zeigt detaillierte Informationen zu einem Netzwerk |
ips <netzwerk> |
Zeigt alle belegten IPv4-Adressen im angegebenen Netzwerk |
ips-all |
Zeigt alle belegten IPv4-Adressen in allen Docker-Netzwerken (aufsteigend) |
<netzwerk> |
Alias für inspect <netzwerk> (Rückwärtskompatibilität) |
help, -h, --help |
Zeigt die Hilfe an |
Beispiele
Interaktiver Modus
# Interaktives Menü starten
bash ./dockernet-inspector.v1.sh
# Output:
# ================================================================================
# Dockernet Inspector - Interaktives Menü
# ================================================================================
#
# 1. Alle Netzwerke auflisten
# 2. Detaillierte Infos zu einem Netzwerk
# 3. IPs eines Netzwerks anzeigen
# 4. Alle belegten IPs anzeigen
# 0. Beenden
#
# Bitte waehlen Sie eine Option (0-4):
Im Menü können Sie einfach die Nummer eingeben. Bei den Optionen 2 und 3 werden Sie aufgefordert, ein Netzwerk aus einer Liste zu wählen.
Kommandozeilen-Modus
# Alle Docker-Netzwerke auflisten
bash ./dockernet-inspector.v1.sh networks
# Netzwerk analysieren (explizit)
bash ./dockernet-inspector.v1.sh inspect bridge
# Netzwerk analysieren (Alias)
bash ./dockernet-inspector.v1.sh my-custom-network
# Belegte IPs eines Netzwerks
bash ./dockernet-inspector.v1.sh ips dockernet
# Belegte IPs in allen Netzwerken
bash ./dockernet-inspector.v1.sh ips-all
# Hilfe
bash ./dockernet-inspector.v1.sh help
Ausgabe-Beispiele
networks
Verfügbare Docker Netzwerke:
==============================
ID NAME DRIVER SCOPE
abcd1234efgh5678ijkl9012 bridge bridge local
mnop4567qrst8901uvwx2345 host host local
yzab3456cdef7890ghij1234 mynet bridge local
inspect
Docker-Netzwerk : my-network
Driver : bridge
Bridge-Interface : br-1234567890ab
Subnet/Gateway : 172.18.0.0/16 / 172.18.0.1
OperState : up
RX bytes/packets : 123456 / 789
TX bytes/packets : 654321 / 456
ips
Belegte IP-Adressen im Netzwerk 'dockernet':
========================================
CONTAINER IP
dozzle 172.16.0.95
grafana 172.16.0.129
ips-all
Belegte IP-Adressen in allen Netzwerken (aufsteigend):
=======================================================
NETZWERK CONTAINER IP
dockernet dozzle 172.16.0.95
datagerry.dockernetwork.local datagerry-nginx 172.16.14.10
matrixnetwork matrix-synapse-db 172.19.0.11
Fehlerbehandlung
Das Script gibt unter anderem folgende Fehlermeldungen aus:
CLI-Modus:
- Keine Netzwerk-Angabe bei
inspect:Fehler: Netzwerkname erforderlich. Verwendung: $0 inspect <docker-network-name> - Keine Netzwerk-Angabe bei
ips:Fehler: Netzwerkname erforderlich. Verwendung: $0 ips <docker-network-name> - Netzwerk nicht gefunden:
Fehler: Netzwerk '<name>' nicht gefunden. - Docker-Netzwerke konnten nicht abgerufen werden:
Fehler: Docker Netzwerke konnten nicht abgerufen werden.
Interaktiver Modus:
- Ungültige Eingabe:
FEHLER: Ungueltige Eingabe. Bitte geben Sie eine Nummer zwischen 0 und 4 ein. - Keine Netzwerke vorhanden:
Fehler: Keine Docker Netzwerke gefunden.
Das Script unterstützt auch Fehlerbehandlung bei ungültigen Eingaben und ermöglicht dem Nutzer, die Eingabe zu korrigieren, ohne dass das Script abstürzt.
Voraussetzungen
- Docker ist installiert und läuft
- Bash (Version 4+ empfohlen)
- Linux-Host (für
/sys/class/net/beiminspect-Befehl)
Technische Details
Das Script nutzt:
docker network lsunddocker network inspectsort -Vfür natürliche IP-Sortierungcolumn -t -s $'\t'für dynamisch ausgerichtete Tabellenset -euo pipefailfür robuste Script-Ausführung
Lizenz
Siehe LICENSE.
Autor
Patrick Asmus
- Website: https://www.cleveradmin.de
- Git: https://git.techniverse.net/scriptos/dockernet-inspector.git
Version
- Version: 1.2.0
- Datum: 18.02.2026
- Modifikation: IP-Listen pro Netzwerk und netzwerkübergreifend hinzugefügt