Dieser Adapter nutzt die Sentry-Bibliotheken, um Ausnahmen und Codefehler automatisch an die Entwickler zu melden. Weitere Details und Informationen zum Deaktivieren der Fehlerberichterstattung finden Sie in der Sentry-Plugin-Dokumentation . Die Sentry-Berichterstattung wird ab js-controller 3.0 verwendet.
Einführung
Dieser Adapter ist eine grafische Benutzeroberfläche zur Verwaltung von Docker-Containern. Er ermöglicht das einfache Erstellen, Starten, Stoppen und Löschen von Docker-Containern direkt über die ioBroker-Administrationsoberfläche.
Der Adapter bietet eine benutzerfreundliche Möglichkeit, Ihre Docker-Umgebung zu verwalten, ohne dass Sie Befehlszeilentools verwenden müssen.
Erläuterung des Docker-Images und des Containers
Docker ist eine Open-Source-Plattform zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von Anwendungen in Containern. Container sind schlanke, isolierte Umgebungen, die alle notwendigen Komponenten wie Code, Laufzeitumgebung, Bibliotheken und Konfigurationen zum Ausführen einer Anwendung enthalten. Mit Docker können Entwickler Anwendungen konsistent und portabel bereitstellen, unabhängig von der zugrunde liegenden Infrastruktur. Dies erleichtert die Zusammenarbeit im Team, vereinfacht die Ausführung von Anwendungen auf verschiedenen Systemen und verbessert die Skalierbarkeit.
Ein Docker-Image ist ein schlankes, eigenständiges und ausführbares Softwarepaket, das alles enthält, was zum Ausführen einer Software benötigt wird, einschließlich Code, Laufzeitumgebung, Bibliotheken, Umgebungsvariablen und Konfigurationsdateien. Man kann es sich als Momentaufnahme einer Anwendung und ihrer Abhängigkeiten zu einem bestimmten Zeitpunkt vorstellen. In der ioBroker-Notation entspricht es einem Adapter.
Ein Docker-Container hingegen ist eine Laufzeitinstanz eines Docker-Images. Er stellt eine schlanke, isolierte Umgebung dar, in der die durch das Docker-Image definierte Anwendung ausgeführt wird. Beim Ausführen eines Docker-Images wird ein Container erstellt, der die Anwendung und ihre Abhängigkeiten kapselt und so einen konsistenten Betrieb in verschiedenen Umgebungen ermöglicht. In der ioBroker-Notation entspricht er einer Adapterinstanz.
Voraussetzungen
- Sie benötigen Docker, das auf Ihrem System installiert und ausgeführt wird.
- Der Benutzer, der den ioBroker-Prozess ausführt, benötigt die Berechtigung zum Zugriff auf den Docker-Daemon. Dies geschieht üblicherweise durch Hinzufügen des Benutzers zur entsprechenden Berechtigungsliste.
dockerGruppe. Oder rufen Sie einfach an.iob fixum die Berechtigungen festzulegen.
Wie installiert man Docker?
- Installationsanweisungen finden Sie in der offiziellen Docker-Dokumentation: https://docs.docker.com/get-docker/
- Nach der Installation von Docker stellen Sie sicher, dass der Docker-Dienst ausgeführt wird. Sie können den Status des Docker-Dienstes mit folgendem Befehl überprüfen:
- Unter Linux:
systemctl status docker - Unter Windows und macOS sollte Docker Desktop ausgeführt werden.
- Unter Linux:
Verwendung der Docker-API
Der Adapter kann die Docker-API nutzen, um mit dem Docker-Daemon auf anderen Hosts zu kommunizieren. Um diese Funktion zu aktivieren, muss der Docker-Daemon so konfiguriert werden, dass er auf einem TCP-Socket lauscht.
Docker-API unter Linux aktivieren
- Öffnen Sie die Docker-Dienstkonfigurationsdatei. Der Speicherort dieser Datei kann je nach Ihrer Linux-Distribution variieren. Übliche Speicherorte sind:
/lib/systemd/system/docker.service/etc/docker/daemon.json/etc/systemd/system/docker.service
- Wenn die Datei
/etc/docker/daemon.json, hinzufügen oder ändernhostsEintrag zum Einbinden des TCP-Sockets. Zum Beispiel:
Wenn es sich bei der Datei um eine systemd-Dienstdatei handelt (z. B.{ "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"] }/lib/systemd/system/docker.service), modifizierenExecStartZeile, die die-H tcp://0.0.0.0:2375Option. Zum Beispiel:ExecStart=/usr/bin/dockerd -H fd:// -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 --containerd=/run/containerd/containerd.sock - Änderungen speichern und Editor verlassen.
- Starten Sie den Docker-Dienst neu, um die Änderungen anzuwenden:
sudo systemctl daemon-reload sudo systemctl restart docker - Überprüfen Sie, ob der Docker-Daemon auf dem TCP-Socket lauscht, indem Sie Folgendes ausführen:
netstat -tuln | grep 2375
Todo
- BackItUp sollte dies unterstützen
/opt/iobroker/docker-volumes - Überlegen Sie, ob der js-Controller Docker-Container entfernt, die nicht mehr verwendet werden, aber das Label haben.
- Docker-Installationsprogramm:
iob docker <remove> - Fortschrittsanzeige: Image hinzufügen/abrufen, Container erstellen
Changelog
1.0.1 (2026-08-07)
- (@GermanBluefox) Added an interactive terminal for running containers (xterm.js)
- (@GermanBluefox) Updated GUI to React 19
- (@GermanBluefox) Added better JSON viewer for container configuration
- (@GermanBluefox) Breaking: Node.js 22 is minimum requirement now
0.1.5 (2026-01-09)
- (@GermanBluefox) Updated packages
0.1.3 (2025-10-15)
- (@GermanBluefox) Updated packages
0.1.2 (2025-10-09)
- (@GermanBluefox) Added volume browsing
- (@GermanBluefox) Added a text file read from volume
0.1.1 (2025-09-26)
- (@GermanBluefox) Added network tab
0.0.3 (2025-09-17)
- (@GermanBluefox) Initial commit
License
The MIT License (MIT)
Copyright (c) 2025-2026 bluefox dogafox@gmail.com