Das Docker-Plugin steuert eine Docker-Engine über TCP oder Unix Socket.
- JavaScript 100%
| .gitattributes | ||
| .gitignore | ||
| index.js | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
Docker
Das Docker-Plug-in steuert eine Docker-Engine über deren API. Damit kannst du auf einem Server mit Docker:
- Container verwalten – auflisten, starten, stoppen, neu starten und entfernen
- Container untersuchen – Status, Konfiguration, Logs und Live-Ressourcen ansehen
- Befehle in Containern ausführen – einen einzelnen Befehl in einem laufenden Container starten
- Images verwalten – auflisten, aus einer Registry pullen und entfernen
Typische Einsatzfälle: Container-Umgebungen warten, Dienste neu starten, Logs auswerten, Software bereitstellen.
Einrichtung
Erstelle eine Instanz im Plug-in-Manager und wähle, wie das Plug-in die Docker-Engine erreicht:
| Feld | Bedeutung |
|---|---|
| Connection | Verbindungsart: unix (lokaler Docker-Socket) oder tcp (Docker-API über Netzwerk) |
| Socket path | Unix-Socket-Pfad bei Verbindungsart unix (Standard: /var/run/docker.sock) |
| TCP base URL | API-Adresse bei Verbindungsart tcp (Standard: http://127.0.0.1:2375) |
| Authorization token | Optionales Token für geschützte TCP-Endpunkte |
Damit das Plug-in den Docker-Socket nutzen darf, muss der mcp-toolbox-Prozess in der Gruppe docker laufen oder der Socket entsprechend freigegeben sein.
Tools
Verbindung und Übersicht
| Tool | Funktion |
|---|---|
docker_ping |
Prüft, ob die Docker-Engine erreichbar ist. Der schnelle Verbindungs-Check. |
docker_list |
Listet alle Container samt Status (läuft, gestoppt, …). |
docker_images |
Listet alle heruntergeladenen Images. |
docker_stats |
Zeigt die Live-Ressourcennutzung (CPU, Speicher) eines oder aller laufenden Container. |
docker_inspect |
Liefert die vollständige Konfiguration eines Containers als JSON. |
Container steuern
| Tool | Funktion |
|---|---|
docker_start |
Startet einen gestoppten Container. |
docker_stop |
Stoppt einen laufenden Container. |
docker_restart |
Startet einen Container neu. |
docker_remove |
Entfernt einen Container endgültig. |
docker_exec |
Führt einen Befehl in einem laufenden Container aus und liefert die Ausgabe. |
docker_logs |
Liefert die Logs eines Containers. |
Images verwalten
| Tool | Funktion |
|---|---|
docker_pull |
Lädt ein Image aus einer Registry (z. B. nginx:latest). |
docker_remove_image |
Entfernt ein Image von der Engine. |
Typische Arbeitsabläufe
Container-Umgebung erkunden
docker_ping– ist die Engine erreichbar?docker_list– welche Container gibt es, welche laufen?docker_stats– wie viel CPU und Speicher verbraucht jeder Container gerade?
Problem in einem Container lösen
docker_logsdes betroffenen Containers – woran scheitert der Dienst?docker_inspect– Konfiguration und Mounts prüfen.docker_execmit einem Diagnose-Befehl, z. B.docker_execmitps auxodercurl localhost.- Bei Bedarf
docker_restart, damit der Dienst neu startet.
Neues Image bereitstellen
docker_pullmit dem Image-Namen (z. B.ghcr.io/…/app:1.2.0).- Alten Container stoppen und entfernen (
docker_stop,docker_remove). - Neuen Container starten (
docker_start). docker_logs– prüfen, ob der Dienst sauber hochkommt.
Hinweise für KI-Agenten
- Entfernen von Containern und Images ist endgültig:
docker_removeunddocker_remove_imagesind destruktiv und erfordern das bestätigende Argument (confirm) in Kombination mit der Instanz-Einstellung, die destruktive Aktionen freigibt. Vorher den Zielnamen genau prüfen. docker_execläuft im Container: Der Befehl nutzt die Werkzeuge des Containers – nicht alle Container enthalten z. B.curl. Führe den Befehl persh -c "…"aus, wenn mehrere Schritte nötig sind.- Jede Aktion verifizieren: Nach
docker_startoderdocker_restartmitdocker_list(Status) oderdocker_logsprüfen, ob der Container wirklich läuft. - Images nicht erraten: Bei
docker_pullden vollständigen Namen inkl. Registry und Tag verwenden (z. B.nginx:1.27, nicht nurnginx), wenn eine bestimmte Version gewünscht ist.