我希望能够在不同的环境中(目前只是开发和生产环境)通过Docker运行Dotnet Core,但我的Docker始终在生产环境下启动。 这里是我的Docker文件:
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 -o out
# Build runtime image
FROM microsoft/dotnet:aspnetcore-runtime
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "test.dll"]
我有appsettings.Production.json和appsettings.Development.json两个文件, 并且我已经在program.cs中配置了我的两个环境,如下所示:
public static IWebHostBuilder CreateWebHostBuilder (string[] args) =>
WebHost.CreateDefaultBuilder (args)
.ConfigureAppConfiguration ((hostingContext, config) => {
config.AddJsonFile ("appsettings.Development.json", optional : false, reloadOnChange : false)
.AddJsonFile ("appsettings.Production.json", optional : false, reloadOnChange : false);
})
//End of update
.UseStartup<Startup> ();
我已经构建了Docker镜像和容器,但当它启动时,它会以生产模式启动,而我想让它以开发模式启动。