【发布时间】:2017-07-15 21:35:02
【问题描述】:
我使用 Docker Desktop for Windows 和 VS Tools for Docker 为我的 ASP.NET Core 创建了配置 Staging。当我运行配置Staging 时,env.EnvironmentName 不断出现Production 而不是Staging。
在文件docker-compose.dev.staging.yml 中,我还将ASPNETCORE_ENVIRONMENT 设置为Staging。但这也无济于事。当然,我还需要把它放在其他地方,因为当我发布时,我希望 Staging 得到 Staging EnvironmentName。
environment:
- ASPNETCORE_ENVIRONMENT=Staging
我错过了什么?
更新
因此,Visual Studio Tools for Docker 中似乎存在错误。它不尊重配置设置并获取文件docker-compose.dev.release.yml 而不是docker-compose.dev.staging.yml。因此,如果要将环境更改为staging,则需要更改该实际文件。因此,在staging 中调试时,将以下内容添加到您的release 文件中:
environment:
- ASPNETCORE_ENVIRONMENT=Staging
世界一切都会好起来的。在部署到主 docker-compose 文件时,您也需要这样做。烦人,但你还要做什么?
另外,添加图片名称,如:
image: docker.appcatalyst.com:5000/symptom_checker_pam_cms:staging
然后您将获得staging 标记,用于部署到登台。希望这个错误很快就会得到修复。
更新 2
现在,我了解了 Docker 的工作原理。基本上你需要在docker-compose.yml 文件中传递环境变量。因此,在运行 staging 环境的服务器上,您将添加我在上面放置的内容,然后将 docker up 与该 yaml 文件一起添加。至于在您自己的机器上,如果您想使用 stage 设置,您只需添加/删除(或注释掉)环境设置。有点痛。希望VS Tools for Docker 修复此行为以进行调试。这将使编程稍微容易一些。
【问题讨论】:
标签: asp.net-core docker-for-windows docker-desktop docker