Wie laufenden Docker Container auf Debian Server von außen über den Browser erreichen.

Fissko552

Neues Mitglied
Hallo, ich habe einen Java Webservice mit SpringBoot und Maven erstellt. Dieser funktioniert über den Localhost auch einwandfrei. Daraufhin habe ich dann einen Docker Container erstellt. Auch dieser startet lokal ohne Problem und lässt sich über localhost:8080 aufrufen.
Nun habe ich den Docker Container auf einen Debianserver hochgeladen und dort starten lassen. Er startet auch erfolgreich. Nun weiß ich aber nicht, wie ich den Server von außen(anderes Netzwerk) erreichen kann. Ich habe diese Serverip. Aber anscheinend muss ich dem Debianserver noch irgendwie beibringen, dass der Webservice im Dockercontainer über diese IP + Port aufrufbar sein muss. Hat da jemand eine Idee, wie das funktioniert? Im Internet habe ich bisher leider nur sehr unvollständige Lösungsvorschläge gefunden, die mich nie ans Ziel geführt haben.

Viele Dank schonmal.

MfG
Fissko552
 

httpdigest

Top Contributor
SSH dich in den Server und mach erstmal `netstat -tulpn` und schau, ob die Anwendung auf 0.0.0.0 bzw. die externe IP des Network Interface zum Internet Gateway gebunden ist, statt auf 127.0.0.1 (aka. "localhost"). Das sollte mit Docker eigentlich automatisch so sein, aber stelle das erstmal sicher.
Desweiteren können natürlich vom Cloud Anbieter vorinstallierte Default Firewalleinstellungen in der Infrastruktur oder im Server selbst aktiv sein. Wo hostest du denn den Server?
 

mihe7

Top Contributor
1. Du brauchst einen Port, der von außen erreichbar ist (Stichwort: Firewall, s. @httpdigest)
2. Der Port darf natürlich noch nicht verwendet werden
3. Die Anwendung läuft in einem isolierten Container. Beim Start des Containers musst Du angeben, welche Ports im Container auf welche Ports des Hosts gemappt werden, z. B. würde -p 80:8080 den TCP-Port 80 des Hosts auf den TCP-Port 8080 des Containers abbilden.

Mehr ist es erstmal nicht.
 

Ähnliche Java Themen


Oben