在 Visual Studio 中运行时将环境变量传递给 Docker 容器

mad*_*160 7 environment-variables visual-studio docker docker-container

我们在 Visual Studio (2017) 中有一个 .NET Core 项目,它添加了 Docker 支持。我们的项目依赖于环境变量在启动时自行配置。正如我们所理解的,为了将环境变量值传递给容器,您可以docker run使用-e.

当您通过选择 Docker 配置文件从 Visual Studio 运行项目的容器化版本时,我们注意到 Visual Studio 执行一个docker run命令。但是,我们无法弄清楚如何让 Visual Studio 在运行容器时包含我们的环境变量值。

有没有办法告诉 Visual Studio 将我们的环境变量值传递给它运行的容器?

请注意,我们不想在映像中指定环境变量值,因为这些值会根据部署到的位置而变化。

小智 13

您可以docker run通过将以下属性添加到 .csproj 文件来选择包含要传递给命令的其他环境文件:

<DockerfileRunEnvironmentFiles>your_env_file.env</DockerfileRunEnvironmentFiles>
Run Code Online (Sandbox Code Playgroud)

  • &lt;DockerfileRunArguments&gt; -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY &lt;/DockerfileRunArguments&gt; 对我来说效果更好,因为推送了主机值。两个不错的选择。这一功劳归功于 /sf/ask/3791534561/ (5认同)
  • 那行得通 - 很好!&lt;DockerfileRunEnvironmentFiles&gt; 标签需要放在 &lt;PropertyGroup&gt; 标签内。这意味着您可以为 Debug、Release 或其他配置指定不同的 .env 文件。 (3认同)