gpt4 book ai didi

c# - 如何通过 docker 使用启动配置文件运行 .net 核心应用程序

转载 作者:太空宇宙 更新时间:2023-11-03 14:44:05 25 4
gpt4 key购买 nike

我正在使用 Docker 将我的 ASP.NET Core 应用程序部署到 Linux 机器上。我有一个几乎像这样的默认 Dockerfile:

FROM microsoft/dotnet:sdk AS build-env
WORKDIR /app

# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

# Build runtime image
FROM microsoft/dotnet:aspnetcore-runtime
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "aspnetapp.dll"]

所以我的观点是能够构建和运行一个项目的不同实例,这些实例具有在 launchsettings.json 中声明的不同设置和不同启动配置文件。 .为此,我需要使用不同的 dockerfile,但有一个问题:How do I setup a launch profile?

Docker 使用 ENTRYPOINT ["dotnet", "aspnetapp.dll"]启动应用程序(这似乎是正确的做法)。此字符串表示 dotnet命令将根据 doumentation 执行似乎没有办法将启动配置文件作为参数传递。

是的,我知道dotnet run命令允许通过 --launch-profile <NAME> 传递它.但是docs说不建议只使用 dotnet run并建议按照在 Dockerfile 中完成的方式发布应用

在这里做什么是正确的?

谢谢!

最佳答案

一种可能的方法是显式设置 launchSettings 包含在 Dockerfile 中的所有不同环境变量。 launchSettings.json 中是否还有 environmentVariables 以外的内容?

关于c# - 如何通过 docker 使用启动配置文件运行 .net 核心应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55303487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com