2026-02-18 14:19:12 +01:00
2026-02-22 22:28:53 +01:00
2026-02-17 11:35:21 +01:00
2026-02-22 22:27:50 +01:00

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:

  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:
git clone https://git.techniverse.net/scriptos/dockernet-inspector.git
cd dockernet-inspector
  1. 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/ 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.

Autor

Patrick Asmus

Version

  • Version: 1.2.0
  • Datum: 18.02.2026
  • Modifikation: IP-Listen pro Netzwerk und netzwerkübergreifend hinzugefügt
Description
No description provided
Readme MIT 51 KiB
Languages
Shell 100%