2017-07-29 5 views
1

Ich muss eine Java-App in mehrere Docker-Container ausführen, um deren Ausführung zu isolieren.Gleichen Port von zwei Docker-Containern auf verschiedenen Ports umleiten

Diese App hört auf Port 12345 und ich führe meinen Docker Container mit "-p 12345: 5000" um den Port 12345 (vom Docker Container) zum Port 5000 meines Hosts umzuleiten. Es funktioniert gut.

Aber wenn ich einen anderen Docker-Container mit "-p 12345: 50001" ausführen, habe ich einen Fehler "Bind für 0.0.0.0:12345 fehlgeschlagen: Port ist bereits zugewiesen."

Ich verstehe nicht, warum .. Danke :)

Antwort

4

Sie haben Ihre Gastgeber und Containerhäfen gemischt!

Der Host-Port kommt zuerst und muss eindeutig sein. Der Container-Port kommt an zweiter Stelle. Sie wollen wahrscheinlich so etwas wie dieses, wenn Ihr Java auf dem gleichen Port in dem Behälter laufen beide apps:

"-p 12345:50000" 
"-p 12346:50000" 

Oder diese, wenn sie wirklich verschiedene Ports in dem Behälter ausgesetzt:

"-p 12345:50000" 
"-p 12346:50001" 
+0

Oh .. In der Tat ! Vielen Dank! Wirklich schlechter Fehler ... –

+0

Manchmal müssen Sie nur Ihre Superkräfte des Lesens benutzen! –

Verwandte Themen