Zum Inhalt springen
Containly

Hosts und Endpoints hinzufügen

Weitere Docker-Hosts über TCP mit TLS, über SSH oder mit dem ausgehenden Agent mit Containly verbinden, und wie viele Hosts die Gratisversion abdeckt.

Der lokale Docker-Host ist von Anfang an verbunden. Eine neue Installation nennt ihn „Local Docker“ und zeigt den Namen in der Sprache deiner Oberfläche, bis du ihn umbenennst (ab Containly 2.5.0). Eine Containly-Instanz verwaltet beliebig viele weitere Hosts: in der Gratisversion insgesamt 2 Hosts (den lokalen und einen weiteren), mit Pro unbegrenzt. Öffne in Containly Endpoints und wähle Endpoint hinzufügen; „Anleitung anzeigen“ öffnet die Schritt-für-Schritt-Anleitung für jeden Weg.

TCP mit TLS

Für einen Docker-Daemon, der auf einem TLS-Port (2376) lauscht.

  1. Auf dem Ziel-Host einmalig eine CA, ein Server- und ein Client-Zertifikat erzeugen. Die Dateien server-*.pem bleiben für den Daemon auf dem Host; ca.pem, cert.pem und key.pem sind die Client-Dateien.
  2. TLS in /etc/docker/daemon.json einschalten. Der systemd-Dienst setzt bereits -H fd://: Steht hosts zusätzlich in der daemon.json, startet Docker nicht. Deshalb zuerst ExecStart per Drop-in leeren.
  3. Die Firewall so setzen, dass Port 2376 nur aus deinem vertrauenswürdigen Netz erreichbar ist, dann Docker neu laden und neu starten.
  4. In Containly Host (IP oder Domain), Port 2376 und die drei Client-Dateien eintragen.

Verwende nie Port 2375 ohne TLS: Er legt den Host ungeschützt offen.

SSH

Für Hosts, die du per SSH erreichst. Der SSH-Benutzer muss Docker nutzen dürfen (Mitglied der Gruppe docker oder root). Für die Verbindung funktionieren Passwort und Schlüssel; Stack-Deployments über SSH brauchen einen Schlüssel, weil sich das Docker-CLI nicht per Passwort verbinden kann. Empfohlen ist ein privater OpenSSH-Schlüssel.

Der Agent (hinter NAT, ohne offene Ports)

Der Agent ist ein kleiner, gehärteter Container (containly-agent), den du auf dem entfernten Host startest. Er verbindet sich von sich aus per WSS zu Containly. Der Host braucht also keinen offenen Docker-Port, keinen SSH-Zugang und keine eingehende Firewall-Regel.

  1. Wähle beim Hinzufügen des Endpoints den Agent. Containly zeigt ein Einmal-Token, einen fertigen docker run-Befehl und eine docker-compose.yml. Das Token wird nur einmal angezeigt: jetzt kopieren.
  2. Führe eines davon auf dem entfernten Host aus.
  3. Containly zeigt „Warte auf Verbindung des Agents“, bis der Agent da ist. Bleibt es dabei, prüf die Logs des Agents auf dem Ziel-Host.

Nach der ersten Verbindung meldet sich der Agent mit einem dauerhaften Zugang selbst wieder an. Logs, Konsole, Statistik, Dateien und Compose-Stacks laufen alle über diese eine Verbindung.

Stacks auf entfernten Hosts

Auf TCP- und SSH-Hosts verwaltet Containly Compose-Dateien über einen kleinen Helfer-Container über die normale Docker-API, dort muss also nichts von Hand installiert werden. Die Stack-Pfade legst du pro Host auf seiner Host-Seite fest; Compose-Projekte, die ausserhalb von Containly gestartet wurden, findet Containly über ihre Compose-Labels.

Das Host-Limit

Die Gratisversion erlaubt 2 Endpoints, den lokalen Host eingeschlossen. Ein dritter Host zeigt „Endpoint-Limit erreicht“. Mit einer Pro-Lizenz fällt das Limit weg. Ohne Lizenz (oder nach einem abgelaufenen Abo) bleiben Hosts über dem Limit verbunden, aber gesperrt; ihre Container siehst du mit Pro wieder.