繁体   English   中英

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

[英]How to run .net core application with launch profile via docker

我正在使用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,但是有一个问题: 如何设置启动配置文件?

Docker使用ENTRYPOINT ["dotnet", "aspnetapp.dll"]启动应用程序(这似乎是正确的选择)。 该字符串表示将执行dotnet命令,并且根据重复说明,似乎没有办法将启动概要文件作为参数传递。

是的,我知道dotnet run命令允许通过--launch-profile <NAME>传递它。 但是文档说,不建议仅使用dotnet run并建议以Dockerfile中的方式发布应用程序

在这里做什么正确的事?

谢谢!

一种可能的方法是显式设置launchSettings包含在Dockerfile中的所有不同环境变量。 launchSettings.json中,您是否拥有除了environmentVariables之外的其他launchSettings.json

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM