我使用 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/