docker - VS2017 : Adding environment variables to docker container for debugging

标签 docker .net-core visual-studio-2017

我使用 VS2017(右键单击项目 > 添加 > Docker 支持)为我的项目添加了 docker 支持,它为我创建了一个 Dockerfile 并更新了 launchsettings.json。

我有以下launchsettings.json

"Docker": {
  "commandName": "Docker",
  "launchBrowser": true,
  "launchUrl": "{Scheme}://localhost:{ServicePort}",
  "environmentVariables": {
    "TEST": "Test value"
  }
}

但是,当我执行 docker inspect我没有看到容器上的环境变量。

因为我无法访问 docker-compose文件调试时注入(inject)环境变量的建议方法是什么?

最佳答案

我一直在寻找相同的答案,最终找到了这个博客:
https://briankeating.net/post/VS2019-Docker-ASPnet-Core-Evnrionment-Variables

涉及两个步骤:

  • 在您的项目中创建一个新的文本文件,例如:Dockerfile.env .在文件中,您可以按如下方式每行添加一个环境变量:DEMO=VALUE
  • 编辑您的项目.csproj文件并在 PropertyGroup 中添加一行其中还有你的TargetFramework带有标签 DockerfileRunEnvironmentFiles 的标签.

  • 这看起来类似于:
    <Project Sdk="Microsoft.NET.Sdk.Web">
        <PropertyGroup>
            <TargetFramework>netcoreapp2.2</TargetFramework>
            <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
            <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
            <LangVersion>latest</LangVersion>
            <ApplicationIcon />
            <OutputType>Exe</OutputType>
            <StartupObject />
            <DockerfileRunEnvironmentFiles>Dockerfile.env</DockerfileRunEnvironmentFiles>
        </PropertyGroup>
    </Project Sdk="Microsoft.NET.Sdk.Web">
    

    在此之后,您可以在调试期间使用 .env 文件中定义的环境变量。

    关于docker - VS2017 : Adding environment variables to docker container for debugging,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52933055/

    相关文章:

    drupal - Vagrant:boot2docker:无法在本地找到图像 'drupal'

    sql-server - SQL Server 实例在登录协商期间返回无效或不受支持的协议(protocol)版本

    visual-studio - 'XamarinShellPackage' 包没有正确加载

    c# - Visual Studio 2017 + .Net Core 2 测试不可执行

    c# - 如何让 WinForms 自定义控件的默认值在第一次放在窗体上时得到尊重

    docker - 无法连接到Docker守护程序

    docker - 在嵌套的已构建Docker镜像中ONBUILD

    angular - spa.UseAngularCliServer() 中间件如何为网页提供服务?

    c# - 如何将对象属性作为参数传递给 Razor 组件

    docker - 如何在 ubuntu 16.04 docker 容器上安装 spyder3