angular - 从docker ui容器调用到api容器

标签 angular docker docker-compose

这是我的 docker 组成

services:
  api:
    image: api
    container_name: api
    ports:
      - "3000:3000"
    external_links:
      - front
    networks:
      - global
  front:
    image: front
    container_name: front
    ports:
      - "8080:80"
    external_links:
      - api
    networks:
      - global

networks:
   global:

我正在尝试从ui容器调用api。
这是通话网址:http://api:3000/api/search?query=ihpone&page=1&minPrice=0&maxPrice=9999
我收到错误ERR_NAME_NOT_RESOLVED

有人可以帮助我吗?如何解决我的问题。如何从ui容器向api容器发出请求?

最佳答案

在浏览器上打开UI应用程序时,实际上是将其下载到主机(安装了docker的计算机)上,然后调用了API。

因此,在您的示例中,您需要在UI应用程序的配置中将url设置为: localhost:3000 而不是 api:3000

  • 本地主机:3000 -是要从主机访问Docker容器中的应用。
  • api:3000 -从另一个Docker容器中命中一个Docker容器中的应用程序。
  • 关于angular - 从docker ui容器调用到api容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59583086/

    相关文章:

    Angular 2 : How to use observables to debounce window:resize

    angular - 在 mat-select 中设置默认选项

    带路由器导出的 Angular 全屏 404 页面

    docker - 本地化无法在 VS2017 中使用 docker-compose(Docker for Linux)以 Release模式构建应用程序

    docker - Curl命令的基本身份验证成为openshift的 secret

    javascript - 从 ag-grid 中的行中删除复选框

    java - docker-compose java 无法访问 jarfile

    spring-boot - Lettuce无法连接到docker redis

    mysql - 从 docker-compose 中的 ASP.NET Core 2 Web 应用程序连接到 MySql 8

    java - 使用 java 权限问题运行 docker