schneerunzel
Goto Top

Docker: VServer Ports nur lokal verfügbar

Hallo zusammen,

ich möchte gerne anfangen mich in Docker einzuarbeiten.
Als erstes Projekt habe ich mir vorgenommen mich einmal an einfachen Webanwendungen zu versuchen.

Ich habe als erste gleich einmal eine Frage:
Mein VServer hängt natürlich direkt im Internet.
Wenn ich jetzt einen Dockercontainer für eine Anwendung z.B. ein LDAP Server oder einen Datenbankserver erstelle, benötigt der Host bzw. andere Dockercontainer zugriff auf einen Port dieses Containers.
Bleiben wir mal beim Beispiel LDAP. Ich könne mir vorstellen für mehrere Anwendungen wie Nextcloud und die Apache Autentifikation für die Entwicklungsprojekte die selben Zugangsdaten verwenden zu wollen.
Jetzt läuft der LDAP Server in einem Dockercontainer. Für diesen Dockercontainer würde ich jetzt eine Portweiterleitung für den Port 389 mit geben. (beim anlegen des Containers habe ich -p 389:389 verwendet).
Das sieht auf den ersten Blick auch ganz gut aus. Der Host kann z.B. auf den LDAP des Containers zugreifen (wie gesagt, ich stecke noch in den ersten Tests). Auf den zweiten Blick, finde ich das ganze aber nicht mehr ganz so gut, denn nicht nur der Host kann zugreifen, sonder auch alle anderen, die auf den Host zugreifen können. Da es sich um einen VServer handelt -> sprich das gesamte Internet.
Wenn ich jetzt also die öffentliche IP meines VServers mit port 389 anspreche, kann ich aus dem Internet jetzt meine LDAP im Container abfragen.

Daher jetzt meine Frage (die ich gerne in zwei Teile teilen möchte):
a) wie schaffe ich es, dass nur noch der Host auf den Container zugreifen kann und nicht mehr jeder? Gibt es dort eine Einstellung in Docker die besagt, geben den Port nur für den Host und nicht gleich für alle frei oder ist es eine bessere Möglichkeit mit einer Softwarefirewall wie ufw auf dem Vserver zu arbeiten?
b) wenn jetzt weitere Docker Container auf den LDAP Server zugreifen sollen, wie schaffe ich diesen Zugriff?

Vielen Dank für die Hilfe.

p.s. bei dem Server handelt es sich um einen VServer von Strato auf dem ein Ubuntu 18.04 läuft.

Content-ID: 510602

Url: https://administrator.de/contentid/510602

Ausgedruckt am: 25.11.2024 um 04:11 Uhr

SlainteMhath
Lösung SlainteMhath 31.10.2019 um 13:48:02 Uhr
Goto Top
Moin,

wenn du mit mehreren Docker Containern arbeiten willst (was der Standart ist), solltest du dich am besten gleich mit docker-compose anfreunden. Da kann man eine komplette App-Infrastruktur in einem YAML festlegen und uU intra-host Zugriffe auf Portebene konfigurieren.

lg,
Slainte