Docker ujawnia wszystkie porty lub zakres portów od 7000 do 8000


Odpowiedzi:


137

Od Döcker 1.5 można teraz wystawiać zakres portów do innych pojemników połączonych z wykorzystaniem:

Dockerfile EXPOSE polecenie:

EXPOSE 7000-8000

lub polecenie uruchomienia platformy Docker :

docker run --expose=7000-8000

Lub zamiast tego możesz opublikować zakres portów na maszynie hosta za pomocą polecenia uruchomienia Dockera :

docker run -p 7000-8000:7000-8000


14
Sprawdź wyjście "iptables -L -n" na hoście, a zobaczysz setki linii dla mapowania pojedynczego portu. Jeśli podasz 5000-50000, to praktycznie musisz długo czekać, czy to jest rzekome zachowanie?
ᐅ devrimbaris

8
@ ᐅ devrimbaris Dla każdego portu uruchamiany jest również proces dockera . Myślę, że to zajmuje większość czasu pracy.
Matt

1
dokumentacja mówi o --publish-all , -Pfladze „Publikuj wszystkie udostępnione porty do losowych portów”. docs.docker.com/engine/reference/commandline/run
nils petersohn

4

Dla każdego, kto boryka się z tym problemem i kończy w tym poście ... problem jest nadal otwarty - https://github.com/moby/moby/issues/11185


Dziękuję bardzo. Szalałem, gdy wszystko utknęło, gdy próbowałem odsłonić zakres tysiąca portów.
sarusso

Czy znalazłeś rozwiązanie, aby wyeksponować zakres tysiąca doniczek? @sarusso
dko
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.