我正在使用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
命令,并且根据doumentation似乎无法传递启动概要文件作为参数。
是的,我知道dotnet run
命令允许通过--launch-profile <NAME>
传递它。但是docs说,不建议仅使用dotnet run
并建议以在Dockerfile中完成的方式发布应用程序
这里正确的做法是什么?
谢谢!
答案 0 :(得分:0)
一种可能的方法是显式设置launchSettings包含在Dockerfile
中的所有不同环境变量。 environmentVariables
中是否有launchSettings.json
以外的东西?