gpt4 book ai didi

asp.net-core - ASP.NET Core w/Tools for Docker EnvironmentName for Stage

转载 作者:行者123 更新时间:2023-12-02 03:06:34 26 4
gpt4 key购买 nike

我创建了配置Staging对于我的 ASP.NET Core 使用 适用于 Windows 的 Docker 桌面 Docker VS 工具 .当我运行配置 Staging env.EnvironmentName不断出现Production而不是 Staging .

在文件docker-compose.dev.staging.yml我设置了ASPNETCORE_ENVIRONMENTStaging还。但这也无济于事。当然,我还需要把它放在其他地方,因为当我发布时我想要 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出于调试目的修复此行为。这将使编程稍微容易一些。

最佳答案

当 VS 运行 docker-compose 命令时,它会按顺序查找以下 yaml 文件:

  • docker-compose.yml
  • docker-compose.override.yml
  • docker-compose.vs.debug.yml|docker-compose.vs.release.yml(分别用于Debug|Release)

  • 我们还不支持像 docker-compose.dev.staging.yml 这样的用户定义的 yaml 文件。

    ASPNETCORE_ENVIRONMENT 已在 docker-compose.override.yml 中设置,这里是定义设置以在本地计算机上运行应用程序的地方。
    environment:
    - ASPNETCORE_ENVIRONMENT=Development

    您可以在该文件中将 Development 更改为 Staging。

    关于asp.net-core - ASP.NET Core w/Tools for Docker EnvironmentName for Stage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42449038/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com