如何解决VS2019 DOCKER的环境一直都是开发
我在VS2019中添加了Docker支持并自定义了DockerFile,但是当我调试或发布时,DockerFile中的Environment设置不起作用。
无论此设置如何,都要通过使用docker Container检查XX来检查容器的ENV,并始终说“ ASPNETCORE_ENVIRONMENT”:“开发”。
请问为什么?
以下是Dockerfile:↓↓↓↓↓↓↓↓↓↓
这是通过VS2019Docker运行的容器的``检查''。↓↓↓↓↓↓↓
已添加:但是此dockerfile生成的映像,手动“ Docker run”,一切再次正常……令人讨厌,因为您想基于VS上的环境变量读取不同的配置文件,然后对其进行调试。
解决方法
通常,没有称为“产品”的环境,所以我想您尝试将ASPNETCORE_ENVIRONMENT设置为生产。
在VS中使用Docker时,请在launchSettings.json中指定ASPNETCORE_ENVIRONMENT,如下所示:
"Docker": {
"commandName": "Docker","launchBrowser": true,"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}","publishAllPorts": true,"useSSL": false,"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Production"
}
}
启动应用程序时,VS会通过告诉您ASPNETCORE_ENVIRONMENT =开发来误导您。
您可以通过将IHostEnvironment
注入到您的Razor视图之一中并显示如下运行环境来验证您的实际运行环境:
Running environment: @HostEnvironment.EnvironmentName
如果从命令行构建并运行映像,一切似乎都可以按预期进行。
首先,通过运行docker images
来验证使用的图像。 VS通常使用TAG = dev创建图像。建立像这样的新图片
docker build webapplication -t webapplication:dev
并运行这样的图像
docker run -d -p 80:80 webapplication:dev
打开Docker Desktop,并确认Docker文件中的ASPNETCORE_ENVIRONMENT
在环境中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。