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.
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.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 510602
Url: https://administrator.de/contentid/510602
Ausgedruckt am: 25.11.2024 um 04:11 Uhr
1 Kommentar