首页 > 解决方案 > 从 docker 容器中的 app-settings.json 为 Angular aspnet 5.0 应用程序选择正确的后端 url

问题描述

我有一个 aspnet 5.0 angular 应用程序(带有后端 api)。它在本地运行良好。它是一个组合的 Visual Studio 2019 解决方案。

我们现在正在尝试对应用程序进行 docker 化。docker build 也可以按预期工作。

然后,我们将应用程序部署到 Azure 上的公共容器实例。部署效果很好 但是,当我们部署应用程序时,我们会遇到运行时错误。当我们检查 Chrome 开发者工具时,我们可以看到应用程序正在尝试访问 https://localhost:43387 的后端地址。

问题似乎是,当我们构建 docker 镜像时,我们假设后端 url 不会改变。

我们想做的是在代码中有 3 个 app-settings.json 文件,

应用程序设置文件

这些文件不包含任何秘密。

在运行时,我们如何让 docker 容器使用这些文件中的任何一个?需要明确的是,要为每个部署使用相同的图像。我们不想为本地、DEV 和 PRD 构建单独的映像。

我们希望逻辑类似于:

我不确定在哪里进行此更改。这个参数可以以某种方式传递到“docker run”作为参数或环境变量发送到角度吗?

我在角度方面的经验并不丰富,更不用说 docker 方面的经验,所以任何帮助都将不胜感激。

标签: angularazuredockerasp.net-coredocker-build

解决方案


推荐阅读