Algumas observações primeiro
- no Dockerfile, "EXPOSE 80" é usado pelo "docker run -P", "publish all"
- não adianta publicar uma porta que a janela de encaixe não está atendendo (por exemplo, "-p 8000: 80" quando um serviço está sendo executado na porta 5000
As portas de escuta são informadas por "docker port", mas não garantem que serão atendidas.
# docker run --name radiusnet -p 8001-8009:5000/tcp radiusnet
Hosting environment: Production
Content root path: /app
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
# docker port radiusnet
5000/tcp -> 0.0.0.0:8001
A prova do pudim ...
# wget -O /tmp/test.html http://localhost:8001/
--2018-02-08 16:22:46-- http://localhost:8001/
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:8001... connected.
HTTP request sent, awaiting response...
Se isso falhar, as portas erradas foram publicadas.
Quando iniciado com "- host de rede", "porta de encaixe" pode não reportar nada, enquanto a janela de encaixe está atendendo bem. "lsof" pode ajudar.
# docker run --name radiusnet --network host radiusnet
Hosting environment: Production
Content root path: /app
Now listening on: http://localhost:5000
# docker port radiusnet
# ps -ef | grep dotnet
root 540 27973 0 16:46 pts/2 00:00:00 grep dotnet
root 32452 32437 7 16:37 ? 00:00:43 dotnet RadiusNet.Web.dll
# lsof -Pn -p 32452 | grep LISTEN
dotnet 32452 root 368u IPv4 106845 0t0 TCP 127.0.0.1:5000 (LISTEN)
dotnet 32452 root 383u IPv6 106854 0t0 TCP [::1]:5000 (LISTEN)
# wget -O /tmp/test.html http://localhost:5000/
--2018-02-08 16:56:27-- http://localhost:5000/
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:5000... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/tmp/test.html’
Tudo está bem quando acaba bem.