TL;DR:为什么aspnet core应用程序在Docker映像内的端口80上运行,而在Docker映像外的端口5000上运行.
Elaborate
我浏览了下面的aspnet核心/docker教程: https://docs.microsoft.com/en-us/dotnet/core/docker/building-net-docker-images个
在阅读本页的一半时,我按照以下规定开始应用程序:
dotnet run
除此之外,它还打印了以下内容:
Now Listening on: http://localhost:5000
太棒了这就是我所期望的.本教程的下一步是从Docker映像中启动完全相同的应用程序.
docker build -t aspnetapp .
docker run -it --rm -p 5000:80 --name aspnetcore_sample aspnetapp
这导致
Now listening on: http://[::]:80
等.WAT?Why is the aspnet core app running on port 80?当我直接从机器上运行它时,它正在5000端口上运行.没有配置文件更改.
我怀疑这与基本docker图像有关,但我对docker的技术还不足以追踪到这一点.