Weitere Docker-Instanz in Portainer einbinden

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Ulfhednir

Benutzer
Sehr erfahren
Registriert
26. Aug. 2013
Beiträge
3.772
Reaktionspunkte
1.330
Punkte
194
Hallo Zusammen,

ich habe auf der DS eine weitere VM (ubuntu-server) zu laufen, auf dem Docker installiert ist.
Die Frage ist jetzt: Wie kriege ich diesen jetzt in Portainer eingebunden?

Die Konfiguration der Enviroments ist ja beinah selbsterklärend. Hier findet man noch eine Anleitung:
https://docs.portainer.io/v/ce-2.9/admin/environments/add/docker

Ich scheitere aber bereits mit Option 1: Connecting without TLS. Vermutlich fehlt hier vorneweg ein Schritt. Ich kann mir beinahe nicht vorstellen, dass das ohne Angabe eines Systemusers funktionieren kann.

Hat das Ganze schon jemand hinbekommen?
 
Ich scheitere aber bereits mit Option 1: Connecting without TLS. Vermutlich fehlt hier vorneweg ein Schritt. Ich kann mir beinahe nicht vorstellen, dass das ohne Angabe eines Systemusers funktionieren kann.
Damit das funktionieren kann, musst Du die Docker-Engine vom Ubuntu Rechner auch an den TCP-Port binden. Von Haus aus wird die nur gegen docker.sock gebunden.

Warunung: der Port darf in der Form so NICHT über das Internet erreichbar sein - jeder der über den Port stolpert kann die Docker Engine sonst auch steuern!
 
@haydibe rein interessenhalber: Gibt es denn überhaupt eine halbwegs sichere Lösung, um die Instanz über das Netz verfügbar zu machen? (Mal unabhängig von VPN) Die Einbindung über den Portainer agent ist ja hier genauso (un)sicher, wie das direkte Ansprechen über die Docker-API.

Nur Azure bietet hier ja zusätzlich die Möglichkeit einen Authentication key etc. einzubinden.
 
https://docs.docker.com/engine/security/protect-access/

Allerdings muss ich gestehen habe ich das nie verwendet, da ich meine Kisten im selben Netzwerk habe (Homelab/AWS).
Sprich: ich hab es nie wirklich gebraucht.

Wobei ich bei AWS eigentlich auch je nach Komplexität des Stacks entweder EKS oder ECS verwende und die Deployments über Terraform mache.. Sprich: alles anders.

Kleiner Tipp zu den Zertifikaten: achte darauf nicht nur den CN, sondern auch den SAN zu setzen, da streng genommen CN für die Überprüfung der URL seit 2017 deprecated ist für https, docker verwendet hier im Grunde ja auch nur den altbekannten mTLS Mechanismus.

Gab es bei Portainer nicht einen Edge-Agent den mal stattdessen zur Anbindung nutzen kann? Portainer-CE setzt per Default doch mittlerweile auch auf HTTPS und müsste entsprechend auch sicher sein. mTLS ist natürlich sicherer.
 
Ich habe gerade mal nachgesehen: beim Edge-Agent muss Portainer von aussen über Port tcp/8000 und http(s)/9000 erreichbar sein, da sicher der Edge-Agent selbst bei Portainer anmeldet. Es wird einem ein `docker run` Befehl gezeigt mit einer individuellen EDGE_ID und einem individuellen EDGE_KEY. Sprich es gibt eine Art von Authentifizierung, so dass der 9000er Port besser nur über https zu erreichen sein sollte..

Zum Thema https fällt mir aus meiner Erinnerung ein, dass es zumindest damals (keine Ahnung ob es immer noch so ist) ein Problem mit Reverse-Proxies gab, wenn Portainer neu gesartet wird... vielleicht ist das ja mittlerweile behoben, ist schon ein paar Jahre her das ich Portainer das letzte mal wirklich benutzt habe.
 
  • Like
Reaktionen: Ulfhednir
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat