当前位置: 首页 > 知识库问答 >
问题:

不同网络中的 Docker 容器通信

羿易安
2023-03-14

在问我的问题之前,我已经访问了这个问题,我没有看到任何答案。

以下场景是,我有一个前端应用(Angular),它与两个单独的容器中的API(节点)隔离,还有两个单独的网络。喜欢这个:

version: '3.9'

services:

  # Backend config
  backend-app:
    image: minas-app:1.0.0
    ports:
      - 3000:3000
    networks:
      - backend

  # FrontEnd config   
  frontend-app:
    image: front-minas:1.0.0
    ports:
      - 8080:80
    networks:
      - frontend

networks:
  backend:
    driver: overlay
    attachable: true
  frontend:
    driver: overlay
    attachable: true

我在nginx服务器上有我的前端,但是当调用时,它请求自己而不是我的API。

在一个论坛上,他们说应该通过:“proxy”:“http://server:3000”添加到package.json中来解决这个问题。

但我真正想知道的是,我的前端如何与后端通信以进行API调用?

编辑:最常见的问题是关于在同一个网络上运行的2个容器,在这种情况下,我将它们都隔离到前端网络后端网络中,所以我想知道它是否真正可能通信或如果它不可能

共有1个答案

陆绍辉
2023-03-14

您的Angular前端应用程序将不会在运行服务器的同一台机器上运行。基本上,您的前端应用程序将被运送到客户端浏览器(例如,通过Nginx),然后它需要通过连接与服务器(后端应用程序)进行通信。

您必须使用您的服务器IP地址(或域名)进行API调用,当然,您需要在服务器内公开您的后端应用程序并将其发布在正确的端口上。

 类似资料:
  • 如果我知道一个Docker容器的IP地址,我就可以很容易地从另一个容器与它通信,但前提是它们在同一个网络中。 我的问题是,我如何与来自另一个网络的容器通信,为什么我不能访问同一台机器上的本地IP?我对网络解释感兴趣,为什么我可以从172.19.0.2访问172.19-0.1,但无法从172.20.0.1访问172.20-0.2。 让一个网络中的docker容器与另一个网络中的Docker容器进行通

  • Docker中容器网络不通,宿主机跟容器,容器跟docker0,容器跟容器网络都不通? 使用 tcpdump -i docker0 抓包时容器的网络就通了,但是关闭 tcpdump -i docker0容器的网络又不通了。

  • 我正在开发基于多个容器的node JS/Express的微服务。部署了不同docker组件的不同容器组。一个docker compose包含4个docker容器,而另一个docker compose包含3个docker容器。Docker compose为每个Docker compose创建了自动网络,例如BackendA_default和BackendB_default,因此每个后端都不能相互通信

  • 我有一个依赖于多个docker容器的应用程序。我使用docker撰写,以便所有容器都在同一个网络中进行容器间通信。但是,我的两个容器在各自的容器中监听相同的端口8080,但是映射到主机上的不同端口: 8072,8073。对于集装箱间的通信,因为我们使用集装箱的端口,这会引起问题吗? 限制条件: 我需要两个容器才能运行我的应用程序。因此,我无法将具有相同内部端口的其他容器隔离到不同的网络 所有容器都

  • 本文向大家介绍Docker 将容器添加到网络,包括了Docker 将容器添加到网络的使用技巧和注意事项,需要的朋友参考一下 示例 此命令将myAwesomeApp-1容器连接到app-backend网络。将容器添加到用户定义的网络时,嵌入式DNS解析器(它不是功能齐全的DNS服务器,并且不可导出)允许网络上的每个容器解析同一网络上的其他容器。此简单的DNS解析器在默认网桥bridge网络上不可用。

  • 本文向大家介绍Docker 从网络上分离容器,包括了Docker 从网络上分离容器的使用技巧和注意事项,需要的朋友参考一下 示例 此命令将myAwesomeApp-1容器与app-backend网络分离。容器将不再能够与已断开连接的网络上的其他容器进行通信,也无法使用嵌入式DNS解析器在已断开连接的网络上查找其他容器。