将 Angular (nginx) 与 Docker 运行 上的后端连接

Connect Angular (nginx) with backend on Docker RUN

事实上,一切都已连接。我需要让它动态化(也许这不是概念)。我正在开发一个由两个独立容器组成的系统:NET Core Backend & Angular Frontend (nginx).

Angular 应用程序使用 environment 变量创建连接 URLs,这意味着 de baseURL 变量包含用于服务器后端的 URL联系。对于本地目的,这是 http://localhost:5000。一切正常:CORS 正在接受调用,JWT 已正确发出,WebAPI 正在返回值。

此产品旨在为每个客户端在单个 VM 服务器上工作。每个客户端都将拥有自己的服务器 IP 来访问该应用程序。前端 Angular 应用程序的 baseURLenvironment.prod 中进行了硬编码,但使用这种方法我必须为每个实现更改 environment.prod 中的 baseURL(客户),我认为这不是正确的方法。

我尝试使用 host 别名并在 Docker 运行 中通过 --link 标志传递该别名,但没有成功。类似于:

environment.prod.ts (Angular)

export const environment = {
  production: true,
  baseUrl: 'http://backendalias:5000'
};

运行命令:

docker run --rm -d -p 5500:80 --link=backend_container:backendalias frontendimage

但是这无法到达后端并且没有建立连接。

我需要让这个实现更加动态,这样我就不必为每个客户更改代码库。

这种做法对吗?我需要通过 --network 标志更改 Docker 网络配置吗?你对这种products/systems有什么建议?

我想用 Docker 运行ning 命令控制它(理想情况下)。

我试图创建一个通用示例来解决您的问题

https://github.com/dupinder/NgnixDockerizedDevEnv

关注此 GitHub 存储库,查看 readme.md 我试图描述的每一步都将帮助您与 Angular UI 应用进行交流后端服务。我又添加了一项附加功能 "The remote debugging".

看看,有什么问题请追问