两个 docker 网络之间的 Http 请求

Http request between two docker networks

我正在为两个不同的项目使用两个不同的 docker-compose 设置。我需要从一个到另一个发出 HTTP 请求,并尝试像 http://localhost:8050/api 一样发送它,但即使它正在 Postman 上工作,也会不断出现 cURL 错误。这是 docker-compose 文件:

文件 1(请求接收方)

version: '3'

services:
  app:
    container_name: core
    build: .cloud/php
    image: app-core
    ports:
      - "9050:9000"
    volumes:
      - ./:/var/www:cached
    networks:
      - core_network

  nginx:
    container_name: core.nginx
    image: nginx
    ports:
      - "8050:8000"
    volumes:
      - .cloud/nginx/nginx.conf:/etc/nginx/conf.d/default.conf:cached
      - ./:/var/www:cached
    depends_on:
      - app
    networks:
      - core_network

  pgres:
    container_name: core.postgres
    image: postgres
    restart: always
    ports:
      - "54321:5432"
    environment:
      POSTGRES_DB: sampleuser
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: example
    volumes:
      - .cloud/postgres/data:/var/lib/postgresql/data
    networks:
      - core_network
networks:
  core_network:
    driver: bridge

文件 2(请求发送者)

version: '3'

services:
  app:
    container_name: b2c
    build: .cloud/php
    image: app-b2c
    ports:
      - "9055:9000"
    volumes:
      - ./:/var/www:cached
    networks:
      - b2c_network

  nginx:
    container_name: b2c.nginx
    image: nginx
    ports:
      - "8055:8000"
    volumes:
      - .cloud/nginx/nginx.conf:/etc/nginx/conf.d/default.conf:cached
      - ./:/var/www:cached
    depends_on:
      - app
    networks:
      - b2c_network 
networks:
  b2c_network:
    driver: bridge

对于有困难的任何人,您可以提出如下请求:http://host.docker.internal:8050