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

问题描述 投票:0回答:1

实际上,所有内容都已连接。我需要使其具有动态性(也许这不是概念)。我正在一个由两个独立的容器组成的系统上:NET Core后端和Angular前端(nginx)。

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

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

我已经尝试使用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网络配置?您对这类产品/系统有何建议?

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

angular docker nginx devops docker-container
1个回答
0
投票

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

https://github.com/dupinder/NgnixDockerizedDevEnv

跟随此GitHub存储库,看看readme.md,我尝试描述每个步骤,这将帮助您将Angular UI应用程序与后端服务进行通信。我又添加了一个附加功能“远程调试”。

看一下,请询问

© www.soinside.com 2019 - 2024. All rights reserved.