# Dockernet Inspector Ein Bash-Script zur Verwaltung und Analyse von Docker-Netzwerken. ## Beschreibung **Dockernet Inspector** hilft bei der täglichen Arbeit mit Docker-Netzwerken und bietet vier Hauptfunktionen: 1. Alle Netzwerke auflisten 2. Netzwerk-Details inspizieren 3. Belegte IPs pro Netzwerk anzeigen 4. 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 1. Repository klonen: ```bash git clone https://git.techniverse.net/scriptos/dockernet-inspector.git cd dockernet-inspector ``` 2. Script ausführbar machen: ```bash chmod +x dockernet-inspector.v1.sh ``` ## Verwendung ### Syntax ```bash bash ./dockernet-inspector.v1.sh [BEFEHL] [OPTIONEN] ``` ### Verfügbare Befehle | Befehl | Beschreibung | |--------|--------------| | `networks` | Listet alle verfügbaren Docker-Netzwerke auf | | `inspect ` | Zeigt detaillierte Informationen zu einem Netzwerk | | `ips ` | Zeigt alle belegten IPv4-Adressen im angegebenen Netzwerk | | `ips-all` | Zeigt alle belegten IPv4-Adressen in allen Docker-Netzwerken (aufsteigend) | | `` | Alias für `inspect ` (Rückwärtskompatibilität) | | `help`, `-h`, `--help` | Zeigt die Hilfe an | ### Beispiele ```bash # 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` ```text Verfügbare Docker Netzwerke: ============================== ID NAME DRIVER SCOPE abcd1234efgh5678ijkl9012 bridge bridge local mnop4567qrst8901uvwx2345 host host local yzab3456cdef7890ghij1234 mynet bridge local ``` ### `inspect` ```text 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` ```text Belegte IP-Adressen im Netzwerk 'dockernet': ======================================== CONTAINER IP dozzle 172.16.0.95 grafana 172.16.0.129 ``` ### `ips-all` ```text 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: - Kein Befehl angegeben: `Fehler: Befehl erforderlich. Verwendung: $0 networks|inspect|ips|ips-all|help` - Keine Netzwerk-Angabe bei `inspect`: `Fehler: Netzwerkname erforderlich. Verwendung: $0 inspect ` - Keine Netzwerk-Angabe bei `ips`: `Fehler: Netzwerkname erforderlich. Verwendung: $0 ips ` - Netzwerk nicht gefunden: `Fehler: Netzwerk '' nicht gefunden.` - Docker-Netzwerke konnten nicht abgerufen werden: `Fehler: Docker Netzwerke konnten nicht abgerufen werden.` ## Voraussetzungen - Docker ist installiert und läuft - Bash (Version 4+ empfohlen) - Linux-Host (für `/sys/class/net/` beim `inspect`-Befehl) ## Technische Details Das Script nutzt: - `docker network ls` und `docker network inspect` - `sort -V` für natürliche IP-Sortierung - `column -t -s $'\t'` für dynamisch ausgerichtete Tabellen - `set -euo pipefail` für robuste Script-Ausführung ## Lizenz Siehe [LICENSE](./LICENSE). ## Autor **Patrick Asmus** - Website: [https://www.cleveradmin.de](https://www.cleveradmin.de) - Git: [https://git.techniverse.net/scriptos/dockernet-inspector.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