【发布时间】:2021-02-05 18:12:05
【问题描述】:
创建新的 .Net 5 Web Api 项目时,您可以在生成的 launchSettings.json 文件中找到它
"applicationUrl": "https://localhost:5001;http://localhost:5000",
所以在运行项目时你可以通过调用 Api 端点
获取 https://localhost:5001/weatherforecast
为项目添加 Docker 支持时,您可能会创建一个 Dockerfile 类似
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /app
COPY *.csproj ./
RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o out
FROM mcr.microsoft.com/dotnet/aspnet
WORKDIR /app
EXPOSE 80
COPY --from=build /app/out .
ENTRYPOINT [ "dotnet", "Api.dll" ]
大多数示例文件在该文件中公开端口 80。在 Docker 容器中运行 Api 时通过
docker run -p 8080:80 my-image
我得把电话改成
GET http://localhost:8080/weatherforecast
所以我调用端口 8080,它在内部映射到端口 80,但是端口 80 如何映射到端口 5000 以将请求转发到 Api?它“以某种方式”工作。有人介意解释一下这个容器网络吗?
【问题讨论】: