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?

  1. 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.
  2. 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.