2013-06-06 14 views
10

Ich möchte einem Container einen Port zuweisen, so dass er nach jedem Neustart des Containers den gleichen Port erhält.Wie wird ein Container als statischer Port zugewiesen?

Beispiel: Ich habe einen Container, der einen Apache enthält. Der Apache läuft auf Port 80 im Container. Jetzt, nach dem Start des Containers, weist Docker dem Container-Port einen Host-Port zu, zum Beispiel: 49154 -> 80. Der Host-Port ändert sich jedoch nach dem Neustart, abhängig von der Anzahl der laufenden Container. Ich habe versucht, den Port in der config.json-Datei des Containers anzugeben, aber es wird überschrieben.

Kann der Host-Port manuell angegeben werden?

Vielen Dank im Voraus und mit freundlichen Grüßen, Chris

Antwort

3

Wenn Sie Docker starten, können Sie die '-p' Parameter verwenden.

docker run -p 80 yourimage apache2 werden tun, was Sie derzeit haben.

Jetzt können Sie festlegen ':' diesen Port machen statisch:

docker run -p :80 -p :443 yourimage apache2

Wenn Sie eine Dockerfile mit dem EXPOSE Anweisung verwendet wird, ist es die gleiche Sache :)

+2

Danke für Ihre Antwort. Es wäre einfacher, die vollständige Zuordnung anzugeben, also etwa: docker run -p 49159: 80 , um anzugeben, dass der Host-Port 49159 ist, der mit Port 80 des Containers verbunden ist. Ist das möglich? Vielen Dank! –

+0

Es ist noch nicht möglich, aber zögern Sie nicht, ein Problem auf GitHub zu öffnen, um diese Funktion zu fragen :) – creack

+3

Das ist jetzt möglich. –