Docker-compose 不设置环境变量

Docker-compose doesnt set environment variable

我有一个带有 launchSettings.json 文件的项目,我们在其中指定这样的环境:"Environment":"Production"

当我使用 docker-compose 并设置环境时。变量为 "Development",项目仍然选择 "Production"。如果我删除 launchSettings.json 文件中的行,项目将选择正确的变量(在本例中为 "Development")。

i 运行 docker 中的项目通过 dotnet 运行 所以我的猜测是当我使用 dotnet 运行 ,启动设置会覆盖环境。多变的。

有没有办法防止这种情况发生? (也许发布包并 运行 直接安装 dll?)

我只想使用 docker-compose 文件来设置环境。变量

根据: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments?view=aspnetcore-2.1

The environment for local machine development can be set in the Properties\launchSettings.json file of the project. Environment values set in launchSettings.json override values set in the system environment.

在此 post 中,它展示了多种方法,您可以指定当前 运行 所在的环境。

https://andrewlock.net/how-to-set-the-hosting-environment-in-asp-net-core/