Que*_*ing 4 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"
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我执行 a 时,docker inspect
我看不到容器上的环境变量。
由于我无权访问docker-compose
文件,在调试时注入环境变量的建议方法是什么?
我一直在寻找相同的答案,最终找到了这个博客:https : //briankeating.net/post/VS2019-Docker-ASPnet-Core-Evnrionment-Variables
涉及2个步骤:
在您的项目中创建一个新的文本文件,例如: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">
Run Code Online (Sandbox Code Playgroud)
在此之后,您可以在调试期间使用 .env 文件中定义的环境变量。
在 中launchSettings.json
,您必须在配置文件下添加一个包含以下内容的部分:
"Docker": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"publishAllPorts": true,
"useSSL": true
}
Run Code Online (Sandbox Code Playgroud)
如果您添加了 docker 支持,您应该已经看到一个名为 的条目docker
。只需添加你的变量environmentVariables
我的完整launchSettings.json
:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:52330",
"sslPort": 44374
}
},
"$schema": "http://json.schemastore.org/launchsettings.json",
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
}
},
"DataApi": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "https://localhost:5001;http://localhost:5000"
},
"Docker": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
},
"publishAllPorts": true,
"useSSL": true
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2001 次 |
最近记录: |