【问题标题】:Unable to connect to nodejs app from react app (inside driver docker app)无法从反应应用程序连接到 nodejs 应用程序(在驱动程序 docker 应用程序内)
【发布时间】:2021-05-23 02:24:31
【问题描述】:

我有一个 nodeJS 应用程序在其中一个 docker 容器中运行,比如说 socketserver,我有一个 react 应用程序在另一个容器中运行 reactjs

我在同一网络上连接两者driver

当我使用 docker run 创建期间提供的端口映射从 chrome 浏览器运行 reactjs 应用程序时,它显示以下错误:

这里是 docker compose 文件:

version: "3"
services:
  dashboard-server:
    container_name: socketserver
    image: qr-socket-server
    networks:
      - backend
  sample:
    container_name: sample
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - '.:/app'
      - '/app/node_modules'
    networks:
      - frontend
      - backend
networks:
  frontend:
    # Use a custom driver
    driver: bridge
  backend:
    # Use a custom driver which takes special options
    driver: bridge

PS:我尝试创建一个 alpine 映像并使用 http://socketserver:30100 从那里 ping nodejs 容器,它返回了正确的响应...

【问题讨论】:

  • 是浏览器窗口的截图吗?浏览器未在 Docker 中运行,无法将容器名称解析为主机名。
  • 正确。它来自浏览器窗口...我如何从 docker 内部运行?
  • 你不能。您需要从前端容器发布ports:,并使用主机的DNS 名称(或localhost,如果浏览器和容器在同一系统上运行)连接到该发布的端口。
  • 哦,好吧...我尝试了同样的...仍然是同样的问题。

标签: node.js reactjs docker docker-networking docker-network


【解决方案1】:

首先,您必须发布两个服务的端口,例如

version: "3"
services:
  dashboard-server:
    container_name: socketserver
    image: qr-socket-server
    networks:
      - backend
    ports:
      - 3000:80
  sample:
    container_name: sample
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - '.:/app'
      - '/app/node_modules'
    networks:
      - frontend
      - backend
    ports:
      - 3001:80
networks:
  frontend:
    # Use a custom driver
    driver: bridge
  backend:
    # Use a custom driver which takes special options
    driver: bridge

其次,如果对socketserver的请求是由浏览器中加载的代码完成的,则不必使用http://socketserver:3000,而应使用http://localhost:3000,但是,如果请求是由您的 Web 应用程序的后端,您必须使用 http://socketserver:3000

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-07
    相关资源
    最近更新 更多