【问题标题】:Adding ASPNETCORE_URL in Dockerfile having no effect在 Dockerfile 中添加 ASPNETCORE_URL 无效
【发布时间】: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


【解决方案1】:

将您的 ENV ASPNETCORE_URLS=http://+:5000;https://+:5001 添加到 FROM base AS final 并通过添加以下内容修改 launchSettings.json “Docker”:

"environmentVariables": {
    "ASPNETCORE_URLS": "https://+:5001;http://+:5000"
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-02
    • 1970-01-01
    相关资源
    最近更新 更多