当前位置: 首页 > 知识库问答 >
问题:

Dotnet Core Docker环境变量

刘元青
2023-03-14

我在使用dotnet core 3.1和visual Studio生成的DockerFile时遇到了一些问题。

我试图通过Dockerfile将密码放入docker的环境变量中,但当我使用environment.GetEnvironmentVariable(“Hetzner_Password”)读取varibale时,该变量为NULL。

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"]

提前致谢

共有1个答案

艾哲
2023-03-14

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

 类似资料:
  • Git 总是在一个 bash shell 中运行,并借助一些 shell 环境变量来决定它的运行方式。 有时候,知道它们是什么以及它们如何让 Git 按照你想要的方式去运行会很有用。 这里不会列出所有的 Git 环境变量,但我们会涉及最有的那部分。 全局行为 像通常的程序一样,Git 的常规行为依赖于环境变量。 GIT_EXEC_PATH 决定 Git 到哪找它的子程序 (像 git-commit

  • Puppeteer 寻找某些环境变量来帮助其操作。 如果 puppeteer 在环境中没有找到它们,这些变量的小写变体将从 npm 配置 中使用。 HTTP_PROXY, HTTPS_PROXY, NO_PROXY - 定义用于下载和运行 Chromium 的 HTTP 代理设置。 PUPPETEER_SKIP_CHROMIUM_DOWNLOAD - 请勿在安装步骤中下载绑定的 Chromium。

  • 环境变量 vue-element-admin 4.0 之后是基于 vue-cli来进行构建,所以所有的环境变量配置都是基于vue-cli来实现和控制的。 官方文档 .env # 在所有的环境中被载入 .env.[mode] # 只在指定的模式中被载入 一个环境文件只包含环境变量的“键=值”对: FOO=bar VUE_APP_SECRET=secre

  • 一些 Electron 的行为受到环境变量的控制,因为他们的初始化比命令行和应用代码更早. POSIX shells 的例子: $ export ELECTRON_ENABLE_LOGGING=true $ electron Windows 控制台: > set ELECTRON_ENABLE_LOGGING=true > electron ELECTRON_RUN_AS_NODE 类似nod

  • 设置变量,可以不必更改代码的控制应用程序配置和行为。 某些Electron行为由环境变量控制,因为它们比命令行和代码更早地初始化。 POSIX shell示例: 1 $ export ELECTRON_ENABLE_LOGGING=true 2 $ electron Copied! Windows控制台示例: 1 > set ELECTRON_ENABLE_LOGGING=true 2 > ele

  • 在构建或者代码在端上运行中需要一些跟区分于环境的变量,用于配置构建流程或者运行时过程,这时候我们可以配置环境变量。 设置环境变量 执行命令时添加 比如: # OS X, Linux PORT=3000 fes dev # Windows (cmd.exe) set PORT=3000 && fes dev 如果要同时考虑 OS X 和 Windows,可借助三方工具 cross-en

  • Ruby解释器使用下列环境变量。 RUBYOPT 指定默认情况下传给Ruby解释器的选项。 sh系 RUBYOPT='-Ke -rkconv' export RUBYOPT csh系 setenv RUBYOPT '-Ke -rkconv' MS-DOS系 set RUBYOPT=-Ke -rkconv RUBYPATH 指定-S选项后,Ruby会搜索环境变量PATH指定的Ruby脚本。此时

  • 在不更改代码的情况下控制应用程序配置和行为。 Electrond的某些行为受环境变量的控制, 因为它们比命令行标志和应用程序的代码更早初始化。 POSIX shell示例: $ export ELECTRON_ENABLE_LOGGING=true $ electron Windows 控制台示例: > set ELECTRON_ENABLE_LOGGING=true > electron Env