156 lines
5.2 KiB
Markdown
156 lines
5.2 KiB
Markdown
# Dockernet Inspector
|
|
|
|
Ein Bash-Script zur Verwaltung und Analyse von Docker-Netzwerken.
|
|
|
|
## 📋 Beschreibung
|
|
|
|
**Dockernet Inspector** ist ein praktisches Bash-Script, das Administratoren und Entwicklern die Verwaltung und Analyse von Docker-Netzwerken erleichtert. Das Script bietet zwei Hauptfunktionen:
|
|
|
|
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.)
|
|
- **Bridge-Interface-Name** auf dem Host-System
|
|
- **Subnet und Gateway** des Netzwerks
|
|
- **Interface-Status** (operstate: up, down, unknown)
|
|
- **Netzwerk-Statistiken** (RX/TX Bytes und Pakete)
|
|
|
|
## 🚀 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
|
|
|
|
### Grundlegende Syntax
|
|
|
|
```bash
|
|
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
|
|
|
|
**Beispiel 1: Alle Docker-Netzwerke auflisten**
|
|
```bash
|
|
bash ./dockernet-inspector.v1.sh networks
|
|
```
|
|
|
|
**Beispiel 2: Standard Bridge-Netzwerk analysieren (mit inspect)**
|
|
```bash
|
|
bash ./dockernet-inspector.v1.sh inspect bridge
|
|
```
|
|
|
|
**Beispiel 3: Benutzerdefiniertes Netzwerk analysieren (Schnellform)**
|
|
```bash
|
|
bash ./dockernet-inspector.v1.sh my-custom-network
|
|
```
|
|
|
|
**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
|
|
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
|
|
```
|
|
|
|
## 📊 Ausgabe-Details
|
|
|
|
| Feld | Beschreibung |
|
|
|------|-------------|
|
|
| **Docker-Netzwerk** | Name des analysierten Docker-Netzwerks |
|
|
| **Driver** | Verwendeter Netzwerk-Treiber (bridge, overlay, host, etc.) |
|
|
| **Bridge-Interface** | Name des Bridge-Interfaces auf dem Host (z.B. `br-xxxxxxxxxxxx`) |
|
|
| **Subnet/Gateway** | IP-Bereich und Gateway-Adresse des Netzwerks |
|
|
| **OperState** | Betriebszustand des Interfaces (up, down, unknown) |
|
|
| **RX bytes/packets** | Empfangene Bytes/Pakete |
|
|
| **TX bytes/packets** | Gesendete Bytes/Pakete |
|
|
|
|
## ⚠️ Voraussetzungen
|
|
|
|
- **Docker** muss installiert und laufend sein
|
|
- **Bash** (Version 4.0 oder höher empfohlen)
|
|
- **Root/Sudo-Rechte** können für den Zugriff auf System-Interfaces erforderlich sein
|
|
- Linux-Betriebssystem (das Script nutzt `/sys/class/net/` für Interface-Statistiken)
|
|
|
|
## 🔧 Fehlerbehandlung
|
|
|
|
Das Script gibt folgende Fehlermeldungen aus:
|
|
|
|
- **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.`
|
|
- **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.`
|
|
|
|
## 🛠️ Technische Details
|
|
|
|
Das Script nutzt:
|
|
- `docker network inspect` zur Abfrage von Netzwerk-Informationen
|
|
- `/sys/class/net/` Interface für Netzwerk-Statistiken
|
|
- `set -euo pipefail` für sichere Script-Ausführung
|
|
|
|
## 📝 Lizenz
|
|
|
|
Siehe [LICENSE](./LICENSE) Datei für Details.
|
|
|
|
## 👤 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)
|
|
|
|
## 🤝 Beitragen
|
|
|
|
Beiträge, Issues und Feature-Anfragen sind willkommen!
|
|
|
|
## 📅 Version
|
|
|
|
- **Version:** 1.1.0
|
|
- **Datum:** 17.02.2026
|
|
- **Modifikation:** Funktion zur Auflistung aller Docker-Netzwerke hinzugefügt
|
|
|
|
<p align="center">
|
|
<img src="https://assets.techniverse.net/f1/git/graphics/gray0-catonline.svg" alt="">
|
|
</p>
|
|
|
|
<p align="center">
|
|
<img src="https://assets.techniverse.net/f1/logos/small/license.png" alt="License" width="15" height="15"> <a href="./LICENSE">License</a> | <img src="https://assets.techniverse.net/f1/logos/small/matrix2.svg" alt="Matrix" width="15" height="15"> <a href="https://matrix.to/#/#community:techniverse.net">Matrix</a> | <img src="https://assets.techniverse.net/f1/logos/small/mastodon2.svg" alt="Matrix" width="15" height="15"> <a href="https://social.techniverse.net/@donnerwolke">Mastodon</a>
|
|
</p> |