Я хочу иметь возможность запускать ядро dotnet через докер в разных средах (пока только для разработки и производства), но мой докер всегда запускается в производственной среде.Вот мой файл 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> ();
Я создаю образ докера и контейнер, но когда он запускается, он запускается в производственном режиме, я хочу, чтобы он запускался в режиме разработки