Dotnet核心Docker环境变量

时间:2020-11-02 13:10:06

标签: c# docker asp.net-core .net-core environment-variables

我遇到了dotnet core 3.1和Visual Studio生成的Dockerfile的一些问题。

我尝试通过Dockerfile在docker的环境变量中输入密码,但是当我使用Environment.GetEnvironmentVariable("HETZNER_PASSWORD")读取变量时,变量为null。

我发现有人用我尝试的here方式提出建议

我的Dockerfile如下所示:

WORKDIR /app

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["HetznerStorageboxStat/HetznerStorageboxStat.csproj", "HetznerStorageboxStat/"]
RUN dotnet restore "HetznerStorageboxStat/HetznerStorageboxStat.csproj"
COPY . .
WORKDIR "/src/HetznerStorageboxStat"
RUN dotnet build "HetznerStorageboxStat.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "HetznerStorageboxStat.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENV HETZNER_USERNAME=USERNAME
ENV HETZNER_PASSWORD=PASSWORD
ENV INFLUX_URL=http://10.20.10.1:8086/write?db=hetzner
ENTRYPOINT ["dotnet", "HetznerStorageboxStat.dll"]

我在做什么错?所有其他教程都已经使用很久了,或者使用ASP.Net

预先感谢

1 个答案:

答案 0 :(得分:0)

您可以在环境下的docker-compose.override.yml文件中设置服务的环境变量

enter image description here

enter image description here