【发布时间】:2023-02-25 07:39:15
【问题描述】:
我创建了一个模板 ASP.Net docker 项目并进行了以下更改:
- 将其更改为 Asp.Net 7
- Dockerfile 中只有
EXPOSE 5000 - 将
ENV ASPNETCORE_URLS=http://+:5000添加到 Dockerfile
现在,当我在本地运行 Docker 时,它会尝试转到https://localhost:0/,但失败了。将 url 中的端口更改为 5000 并更改为 http 没有帮助。
Visual Studio 告诉我容器端口是 5000:
但是,ASPNETCORE_URLS 在“环境”选项卡中保持 +443 和 +80:
他们不应该换成我的规则吗?我只想转到localhost:5000 并查看该应用程序。我错过了什么?
我的 Dockerfile 是:
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app
EXPOSE 5000
ENV ASPNETCORE_URLS=http://+:5000
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY ["IANSW.Web/IANSW.Web.csproj", "IANSW.Web/"]
RUN dotnet restore "IANSW.Web/IANSW.Web.csproj"
COPY . .
WORKDIR "/src/IANSW.Web"
RUN dotnet build "IANSW.Web.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "IANSW.Web.csproj" -c Release -o /app/publish /p:UseAppHost=false
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "IANSW.Web.dll"]
【问题讨论】:
-
尝试在
final阶段而不是base中设置环境。
标签: asp.net asp.net-mvc docker asp.net-core dockerfile