Docker container verwenden für Applikationen

Status
Für weitere Antworten geschlossen.

Norbert78

Benutzer
Mitglied seit
26. Jul 2016
Beiträge
18
Punkte für Reaktionen
0
Punkte
0
Hallo Forum,
ich habe mich ein wenig in Docker auf der synology eingebarbeite und finde es sehr vielversprechend. Ich nutze eine DS415+ mit aktuellstem DSM.
Mein Problem, für das ich Hilfe suche ist, dass ich die Docker-Container nicht zugreifbar bekomme weil ich das Routingkonzept der Synology nicht verstehe.
Ich kann bei einem Docker Container auswählen, ob ich ihn unter der IP der Synology starte oder mit eigener IP auf einem separaten, virtuellen Adapter.

Mein Ziel ist es, dass ich eine Reihe von Diensten (Owncloud, Seafile, vielleicht einen Apache) mit Docker-Containern virtualisieren möchte, diese aber auch von außerhalb der Synology zugreifen möchte. Wie mache ich das am besten damit sich die einzelnen Applikationen nicht in die Quere kommen? Kann ich auf der Synology irgendwie mehrere IP-Adressen registrieren so dass jeder dieser Docker Container unter einer eigenen IP erreichbar ist oder muss ich das alles über Ports regeln?
Das Problem mit den Ports ist es, dass einige der Docker-Container, die ich nutzen möchte, gerne Port 80 nutzen würden. Ich kann den zwar auf einen anderen Host-Port umbiegen aber nur, wenn ich gleichzeitig einen anderen, virtuellen Adapter nutze. Und in diesem Szenario habe ich es trotz stundenlangem Probieren nicht geschafft, die Dienste nach außen zugänglich zu machen.

Ich hoffe, mein Problem ist irgendwie klar geworden. Ist schon alles ein bisschen wirr, sorry.
Ich freue mich sehr über jeden Tipp!
Danke
Norbert
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
Ein Mittel der Wahl sind z.B Reverse Proxies.
sub1.domain.de > port 81 Container 1 > port 80 innerhalb des Containers 1
sub2.domain.de > port 82 Container 2 > port 80 innerhalb des Containers 2
... etc.

Die Container laufen nicht unter einer eigenen IP im LAN (nur wenn man innerhalb des Containers die IP verändert würden sie dies tun. Das einzige was sich dann ändert ist, dass es anstatt nas-ip eben container-ip zum Aufruf gibt).
network=host "use same network as Docker Host" bei der Erstellung des Containers gewählt, dann läuft der Container direkt unter der NAS-IP. Dort schon belegte Ports (Web Station, etc. pp) sind tabu bzw solche Portkollisionen muss man selber ausräumen.
network=bridged: "Normalfall" legt die Container in ein NAT Subnetz (172.17.0.0 oder so). Dort ändert man nur die Lokalen Ports, die Ports im Container läßt man normal auf Standard.
 

Norbert78

Benutzer
Mitglied seit
26. Jul 2016
Beiträge
18
Punkte für Reaktionen
0
Punkte
0
Hi,
erstmal vielen Dank für die Antwort. Bleiben wir mal für einen Moment beim Standardfall, in dem die Container in einem eigenen Subnetz laufen. In diesem Fall werden doch aber eigentlich von Docker Ports des Containers auf Ports des Host gemapt. oder?
Mein Problem ist nämlich, dass wenn ich einen ganz normalen Container starte, der z.B. den Container Port 80 auf den Port 32771 des Host mapt, ich diesen Container nicht unter http://synologyip:32771 erreichen kann. Muss ich in diesen Fällen noch manuell irgendeine Art von Routing einstellen? Ich habe die Firewall schon einmal auf Durchzug gestellt und allen Traffic erlaubt aber ohne Erfolg.
Der einzige Weg, wie ich aktuell an Container herankomme, ist wenn ich sie im gleichen Netz laufen lasse, wie die Synology selbst. Aber das ist leider für diese Apps keine Option da die alle auf Port 80 bzw. 443 laufen wollen.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
Genau. Lokaler Port ist der Port auf dem Host und Container Port ist der Port innerhalb des Containers.

Steht das Mapping auf automatisch werden teilweise für Container Ports dynamisch freie Host Ports genommen und belegt, oder man trifft die Auswahl selber beim Anlegen des Containers.
Kann man ja nach Anlage des Containers sehen, welche Port Mappings von Host in den Container angelegt sind / wurden.
Ist der Inhalt des Containers dann nicht via nas-ip:<lokalerPort> erreichbar und du die Firewall ausschließen kannst bliebe ja nur noch der Container selber oder der Client (Security Suites, etc) über.
Jedenfalls fällt mir spontan nix anderes ein.

Was ist denn der Fehler den du beim Zugriff bekommst? Oder einfach ein Timeout?
 
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