首页 > 解决方案 > 如何从浏览器连接来自 AngularJS docker 容器的 NodeJS 的 API?

问题描述

我有两个 Docker 容器,它们是 AngularJS 和 NodeJS 应用程序。我正在使用具有多容器 docker 配置的 Azure 应用服务。我的应用程序有 docker compose 文件,并在 Azure App Service 中使用相同的文件。从浏览器中,单击按钮后,我得到了应用程序的 UI 屏幕,它应该从 NodeJS 调用 API,但它并没有发生。我的 Dockerfiles 和 docker compose 文件非常简单直接。

我已经nodejs为 NodeJS 应用程序提供了容器名称,并在 AngularJS 代码中提到了相同的名称来访问 API,但它在浏览器中不起作用。

码头工人-compose.yml

version: '3.3'
services:
  angularjs:
    container_name: 'angularjs'
    image: 'ui:1'
    ports:
      - '4200:4200'
    depends_on:
      - 'nodejs'
  nodejs:
    container_name: 'nodejs'
    image: 'api:1'
    ports:
      - '4000:4000'

在 AngularJS 代码中,我正在使用http://nodejs:4000/data它,它是一种GET方法。这样,我面临一个错误ERR_NAME_NOT_RESOLVED

标签: node.jsangularjsazuredockerdocker-compose

解决方案


推荐阅读