Merge pull request 'v1.1.0' (#2) from optimierung into main

Reviewed-on: #2
This commit was merged in pull request #2.
This commit is contained in:
2026-02-17 11:24:02 +00:00
2 changed files with 125 additions and 17 deletions

View File

@@ -1,12 +1,15 @@
# Dockernet Inspector # Dockernet Inspector
Ein Bash-Script zur Analyse und Anzeige von Details zu Docker-Netzwerken. Ein Bash-Script zur Verwaltung und Analyse von Docker-Netzwerken.
## 📋 Beschreibung ## 📋 Beschreibung
**Dockernet Inspector** ist ein praktisches Bash-Script, das detaillierte Informationen über Docker-Netzwerke anzeigt. Es ermöglicht Administratoren und Entwicklern einen schnellen Überblick über die Konfiguration und den Status eines Docker-Netzwerks zu erhalten. **Dockernet Inspector** ist ein praktisches Bash-Script, das Administratoren und Entwicklern die Verwaltung und Analyse von Docker-Netzwerken erleichtert. Das Script bietet zwei Hauptfunktionen:
Das Script zeigt folgende Informationen an: 1. **Alle Netzwerke auflisten** - Anzeige aller verfügbaren Docker-Netzwerke mit ihren Treibern
2. **Netzwerk-Details inspizieren** - Detaillierte Informationen zu einem spezifischen Netzwerk
Das Script zeigt folgende Informationen beim Inspizieren an:
- **Netzwerk-Driver** (bridge, overlay, host, etc.) - **Netzwerk-Driver** (bridge, overlay, host, etc.)
- **Bridge-Interface-Name** auf dem Host-System - **Bridge-Interface-Name** auf dem Host-System
- **Subnet und Gateway** des Netzwerks - **Subnet und Gateway** des Netzwerks
@@ -31,22 +34,52 @@ chmod +x dockernet-inspector.v1.sh
### Grundlegende Syntax ### Grundlegende Syntax
```bash ```bash
bash ./dockernet-inspector.v1.sh <docker-network-name> bash ./dockernet-inspector.v1.sh [BEFEHL] [OPTIONS]
``` ```
### Verfügbare Befehle
| Befehl | Beschreibung |
|--------|-------------|
| `networks` | Listet alle verfügbaren Docker-Netzwerke auf |
| `inspect <netzwerk>` | Zeigt detaillierte Informationen zu einem Netzwerk |
| `<netzwerk>` | Alias für `inspect <netzwerk>` (Rückwärtskompatibilität) |
| `help`, `-h`, `--help` | Zeigt die Hilfe an |
### Beispiele ### Beispiele
**Beispiel 1: Standard Bridge-Netzwerk analysieren** **Beispiel 1: Alle Docker-Netzwerke auflisten**
```bash ```bash
bash ./dockernet-inspector.v1.sh bridge bash ./dockernet-inspector.v1.sh networks
``` ```
**Beispiel 2: Benutzerdefiniertes Netzwerk analysieren** **Beispiel 2: Standard Bridge-Netzwerk analysieren (mit inspect)**
```bash
bash ./dockernet-inspector.v1.sh inspect bridge
```
**Beispiel 3: Benutzerdefiniertes Netzwerk analysieren (Schnellform)**
```bash ```bash
bash ./dockernet-inspector.v1.sh my-custom-network bash ./dockernet-inspector.v1.sh my-custom-network
``` ```
### Beispiel-Ausgabe **Beispiel 4: Hilfe anzeigen**
```bash
bash ./dockernet-inspector.v1.sh help
```
### Beispiel-Ausgabe für `networks`
```
Verfügbare Docker Netzwerke:
==============================
ID NAME DRIVER SCOPE
abcd1234efgh5678ijkl9012 bridge bridge local
mnop4567qrst8901uvwx2345 host host local
yzab3456cdef7890ghij1234 mynet bridge local
```
### Beispiel-Ausgabe für `inspect`
``` ```
Docker-Netzwerk : my-network Docker-Netzwerk : my-network
@@ -81,8 +114,10 @@ TX bytes/packets : 654321 / 456
Das Script gibt folgende Fehlermeldungen aus: Das Script gibt folgende Fehlermeldungen aus:
- **Keine Netzwerk-Angabe:** `Usage: ./dockernet-inspector.v1.sh <docker-network-name>` - **Kein Befehl angegeben:** `Fehler: Befehl erforderlich. Verwendung: $0 networks|inspect|help`
- **Keine Netzwerk-Angabe beim Inspizieren:** `Fehler: Netzwerkname erforderlich. Verwendung: $0 inspect <docker-network-name>`
- **Netzwerk nicht gefunden:** `Fehler: Netzwerk '<name>' nicht gefunden.` - **Netzwerk nicht gefunden:** `Fehler: Netzwerk '<name>' nicht gefunden.`
- **Docker Netzwerke konnten nicht abgerufen werden:** `Fehler: Docker Netzwerke konnten nicht abgerufen werden.`
- **Interface existiert nicht:** `WARN: Interface <name> existiert (noch) nicht auf dem Host.` - **Interface existiert nicht:** `WARN: Interface <name> existiert (noch) nicht auf dem Host.`
## 🛠️ Technische Details ## 🛠️ Technische Details
@@ -108,9 +143,9 @@ Beiträge, Issues und Feature-Anfragen sind willkommen!
## 📅 Version ## 📅 Version
- **Version:** 1.0.0 - **Version:** 1.1.0
- **Datum:** 17.02.2026 - **Datum:** 17.02.2026
- **Modifikation:** Initial Release - **Modifikation:** Funktion zur Auflistung aller Docker-Netzwerke hinzugefügt
<p align="center"> <p align="center">
<img src="https://assets.techniverse.net/f1/git/graphics/gray0-catonline.svg" alt=""> <img src="https://assets.techniverse.net/f1/git/graphics/gray0-catonline.svg" alt="">

View File

@@ -1,20 +1,93 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Script Name: dockernet-inspector.v1.sh # Script Name: dockernet-inspector.v1.sh
# Beschreibung: Dockernet Inspector - Zeigt Details zu einem Docker-Netzwerk an (Netzwerktyp, Bridge-Interface, Subnet/Gateway, Interface-Status & Stats) # Beschreibung: Dockernet Inspector - Verwaltet und inspiziert Docker-Netzwerke
# Verwendung: bash ./dockernet-inspector.v1.sh <docker-network-name> # - Alle Netzwerke auflisten
# - Details zu einem spezifischen Docker-Netzwerk anzeigen
# (Netzwerktyp, Bridge-Interface, Subnet/Gateway, Interface-Status & Stats)
# Verwendung: bash ./dockernet-inspector.v1.sh [BEFEHL] [OPTIONS]
# Befehle:
# networks - Alle Docker Netzwerke auflisten
# inspect - Details zu einem Netzwerk anzeigen (Standard)
# help, -h, --help - Diese Hilfe anzeigen
# Autor: Patrick Asmus # Autor: Patrick Asmus
# Web: https://www.cleveradmin.de # Web: https://www.cleveradmin.de
# Git-Reposit.: https://git.techniverse.net/scriptos/dockernet-inspector.git # Git-Reposit.: https://git.techniverse.net/scriptos/dockernet-inspector.git
# Version: 1.0.0 # Version: 1.1.0
# Datum: 17.02.2026 # Datum: 17.02.2026
# Modifikation: Initial # Modifikation: Funktion zum Auflisten aller Docker Netzwerke hinzugefügt
##################################################### #####################################################
set -euo pipefail set -euo pipefail
NET="${1:-}" # Hilfe-Funktion
[[ -z "$NET" ]] && { echo "Usage: $0 <docker-network-name>"; exit 1; } show_help() {
cat <<HELP
Dockernet Inspector v1.1.0 - Docker Netzwerk Verwaltungstool
VERWENDUNG:
$0 networks - Alle Docker Netzwerke auflisten
$0 inspect <netzwerk> - Details zu einem Netzwerk anzeigen
$0 <netzwerk> - Alias für 'inspect <netzwerk>'
$0 help - Diese Hilfe anzeigen
BEFEHLE:
networks Listet alle verfügbaren Docker Netzwerke auf
inspect <netzwerk> Zeigt detaillierte Informationen zu einem Netzwerk:
- Netzwerktyp (Driver)
- Bridge-Interface
- Subnetz und Gateway
- Interface-Status
- Netzwerk-Statistiken (RX/TX bytes und packets)
help Zeigt diese Hilfe an
BEISPIELE:
$0 networks
$0 inspect mynetwork
$0 mynetwork
$0 -h
HELP
}
# Funktion zum Auflisten aller Docker Netzwerke
list_networks() {
echo "Verfügbare Docker Netzwerke:"
echo "=============================="
docker network ls --format "table {{.ID}}\t{{.Name}}\t{{.Driver}}\t{{.Scope}}" || {
echo "Fehler: Docker Netzwerke konnten nicht abgerufen werden."
exit 2
}
}
# Argument-Verarbeitung
COMMAND="${1:-}"
case "$COMMAND" in
networks)
list_networks
exit 0
;;
help | -h | --help)
show_help
exit 0
;;
inspect)
NET="${2:-}"
[[ -z "$NET" ]] && { echo "Fehler: Netzwerkname erforderlich. Verwendung: $0 inspect <docker-network-name>"; exit 1; }
;;
"")
echo "Fehler: Befehl erforderlich. Verwendung: $0 networks|inspect|help"
exit 1
;;
*)
# Kompatibilität: Wenn erstes Argument kein bekannter Befehl ist, behandle es als Netzwerkname
NET="$COMMAND"
;;
esac
# Hauptlogik für die Inspektion eines Netzwerks (rest des originalen Scripts)
[[ -z "$NET" ]] && { echo "Fehler: Netzwerkname erforderlich. Verwendung: $0 <docker-network-name>"; exit 1; }
# 1) Netzwerk-ID und Bridge-Name separat holen (jeweils eigenes inspect) # 1) Netzwerk-ID und Bridge-Name separat holen (jeweils eigenes inspect)
ID="$(docker network inspect "$NET" --format '{{.Id}}' 2>/dev/null || true)" ID="$(docker network inspect "$NET" --format '{{.Id}}' 2>/dev/null || true)"