2015-11-13 7 views
5

Bedenken Sie:Wie weiterleiten alle Häfen, in Docker Container

docker run -p 5000:5000 -v /host/:/host appimage 

leitet er zu

auch in mehreren:

docker run -p 5000:5000 -p 5001:5001 -v /host/:/host appimage 

Was will ich wissen, ist :

docker run -p allports:allports 

Gibt es einen Befehl, mit dem alle Ports im Container weitergeleitet werden können? Weil ich in meinem Fall eine Flaschen-App betreibe. Zu Testzwecken möchte ich mehrere Flaschen-Instanzen ausführen. Also möchte ich es für jede Flashinstanz in verschiedenen Ports ausführen. Diese automatische Multi-Port-Weiterleitung würde helfen. mit der -p Option, zum Beispiel

+1

Überprüfen Sie die Option "-P". Damit dies funktioniert, muss Ihre Dockerfile eine Portnummer EXPOSIEREN –

+0

Ich glaube nicht, dass es eine solche Option gibt. Es könnte sehr irreführend sein. Betrachten Sie gut bekannte Ports, z. Wenn alle Ports weitergeleitet werden, würde Ihr Browser beispielsweise nicht funktionieren. – Opal

Antwort

0

Sie können eine Reihe von Ports aussetzen:

docker run -p 2000-5000:2000-5000 -v /host/:/host appimage 

Siehe docker run Referenzdokumentation für weitere Details.

1

Sie könnten eine funktionierende Einrichtung haben, indem Sie docker run --net host ... verwenden. In diesem Fall ist das Netzwerk des Hosts direkt dem Continer ausgesetzt und alle Port-Bindungen sind "public". Ich habe das nicht mit mehreren Containern gleichzeitig getestet, aber es könnte gut funktionieren.