如何在dockerfile中定义Host_Port

问题描述 投票:0回答:1

我正在尝试通过将我的 blazor 服务器应用程序运行到 docker 容器中来调试它。我的应用程序使用的是配置为 4100 Host_port 的 AD B2C。我已经创建了 dockerfile,它正在创建图像并启动 docker 容器。问题是我试图在 dockerfile 中定义 Host_Port,以便 docker run 命令可以从 dockerfile 中获取它。首先,这可能吗?如果是的话怎么办?

FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY ["TS.UI/TS.UI.csproj", "TS.WebUI/"]
COPY ["TS.Common/TS.Common.csproj", "TS.Common/"]
COPY ["TS.Lab/TS.Lab.csproj", "TS.Lab/"]
RUN dotnet restore "TS.WebUI/TS.WebUI.csproj"
COPY . .
WORKDIR "/src/TS.WebUI"
RUN dotnet build "TS.UI.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "TS.UI.csproj" -c Release -o /app/publish /p:UseAppHost=false

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "TS.UI.dll"]

在这里,我尝试添加

ENV ASPNETCORE_HTTPS_PORT=4100
,但它也不起作用。

我也尝试过使用

Expose 4100
,但这也是在本地主机上创建的:{someRandomPort}:{ExposePort}

我已经使用 compose 完成了它。而且它运行良好。对于知识的角度,我只是尝试是否可能。

docker dockerfile
1个回答
0
投票

launchSettings.json

"Docker": {
      "commandName": "Docker",
      "launchBrowser": true,
      "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
      "environmentVariables": {
        "ASPNETCORE_URLS": "https://+:443;http://+:80"
      },
      "publishAllPorts": false,
      "useSSL": true,
      "sslPort": 4100
    }

我们可以使用 sslPort 提供特定端口。

© www.soinside.com 2019 - 2024. All rights reserved.