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:
57
README.md
57
README.md
@@ -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="">
|
||||||
|
|||||||
@@ -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)"
|
||||||
|
|||||||
Reference in New Issue
Block a user