Da ich diesen Teil schon öfter an verschiedenen Stellen gebraucht hab, will ichs hier mal festhalten:
Man kann den docker daemon (die Docker Instanz auf der jeweiligen Maschine) übers Netzwerk freigeben. Das bringt den Vorteil, dass man die Verwaltung mehrerer solcher "Nodes" an einer Stelle vornehmen kann.
unter Raspbian folgende Datei als root bearbeiten:
sudo nano /etc/systemd/system/multi-user.target.wants/docker.service
dann nach ExecStart suchen und am ende -H tcp.. einfügen:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2376
Dadurch kann man einfach übers Netzwerk auf diesen Docker daemon zugreifen und die vorhandenen Container administrieren.
Vorsicht: Mit einfach ist wirklich einfach gemeint - man braucht hier keine weitere Authentifizierung oder einen Benutzer. Der Port ist dann im Gesamten Netzwerk verfügbar und die API kann von jedem bedient werden.
Wann brauch ich das?
- Docker Extension im VSCODE
legt man sich die lokale Umgebungsvariable DOCKER_HOST an und befüllt sie mit tcp://server:2376 kann man sich direkt zu Containern auf dem entsprechenden Server verbinden. - Mehrere Umgebungen in Portainer
Portainer ist eine sehr nützliche Web Oberfläche für docker. Eine Umgebung/Environment entspricht dabei einer Node - durch die Freigabe übers Netzwerk kann man alle laufenden bzw. vorfügbaren Container und Images auf unterschiedlichen Rechnern verwalten.