Mam więc 3 porty, które powinny być narażone na interfejs urządzenia. Czy można to zrobić z kontenerem Docker?
docker
docker-networking
nubela
źródło
źródło
Odpowiedzi:
Aby udostępnić tylko jeden port, musisz to zrobić:
Aby udostępnić wiele portów, wystarczy podać wiele
-p
argumentów:źródło
Note: The -p flag can be used multiple times to configure multiple ports.
--env-file
?docker run -P
(zwróć uwagę na wielkie litery), który automatycznie naraża wszystkie porty zdefiniowane z expose w Dockerfilepublish
nie jestexpose
.Krok 1
W swoim
Dockerfile
możesz użyć czasownika,EXPOSE
aby ujawnić wiele portów.na przykład
Krok 2
Następnie chcesz zbudować nowy obraz na podstawie powyższego
Dockerfile
.na przykład
Krok 3
Następnie można użyć
-p
do mapowania portu hosta z portu kontenerowego w rozumieniu wyżejEXPOSE
odDockerfile
.na przykład
Jeśli chcesz udostępnić szereg ciągłych portów, możesz uruchomić dokera w następujący sposób:
źródło
jeśli używasz
docker-compose.yml
pliku:Możesz także określić port hosta / sieci
źródło
Jeśli tworzysz kontener z obrazu i chcesz udostępnić wiele portów (nie publikować), możesz użyć następującego polecenia:
Teraz, gdy uruchomisz ten kontener za pomocą
docker start
polecenia, skonfigurowane porty powyżej zostaną ujawnione.źródło