实际上,所有内容都已连接。我需要使其具有动态性(也许这不是概念)。我正在一个由两个独立的容器组成的系统上:NET Core后端和Angular前端(nginx)。
Angular应用使用environment
变量创建连接URL,这意味着de baseURL
变量包含服务器后端连接的URL。出于本地目的,此为http://localhost:5000
。一切正常:CORS正在接受调用,JWT正确发出,WebAPI返回值。
该产品旨在为每个客户端在单个VM服务器上工作。每个客户端都将拥有自己的服务器IP来访问该应用程序。前端Angular应用程序的baseURL
在environment.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运行命令来控制(理想情况下)。
我试图创建一个通用示例来解决您的问题
https://github.com/dupinder/NgnixDockerizedDevEnv
跟随此GitHub存储库,看看readme.md,我尝试描述每个步骤,这将帮助您将Angular UI应用程序与后端服务进行通信。我又添加了一个附加功能“远程调试”。
看一下,请询问