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

Passing Environment Variables to Docker Container When Running in Visual Studio

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

将它们指定为 docker run 命令的参数

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

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

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

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

<DockerfileRunEnvironmentFiles>your_env_file.env</DockerfileRunEnvironmentFiles>

我有一个命令行 .NET Core 应用程序,它使用输入参数中的秘密,例如 mycli -ACCOUNT_KEY abcdef123=。出于调试目的,我不想在我的源计数器中有这个值,所以我将它设置为我系统上的一个环境变量,然后我将其传递到命令行参数中。这就是我所做的:

在系统环境变量中:

在项目设置中:

在 .csproj 文件中:

在.gitignore: