我有一个 .net core 3.1 应用程序,我作为 docker 容器部署在 aws ecs 上。现在我想在我试图在我的代码中使用的 dockerfile 中指定环境变量,但每次我都没有得到任何价值。
这是.net核心:
private IWebHostEnvironment Environment { get; set; }
public IConfiguration Configuration { get; set; }
public void ConfigureServices(IServiceCollection services)
{
var builder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{Environment.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
现在我想用我在 Dockerfile 中指定的值替换 environment.EnvironmentName 但它不起作用。另外我在某处读到我可以在执行 docker-run 命令时指定环境变量,但在我的情况下我不能这样做,因为 aws ecs 正在运行 docker 容器
这是泊坞窗文件:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app
# Copy everything else and build
COPY . ./
ENV ASPNETCORE_ENVIRONMENT Development
RUN dotnet restore Isofy-Api/*.csproj
RUN dotnet publish Isofy-Api/*.csproj -c Release -o out
# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "Isofy-Api.dll"]
我究竟做错了什么?