Docker-compose: как соединить два проекта, чтобы они могли отправлять друг другу запросы [дубликат]

Допустим, у меня есть два проекта: spam-service и eggs-service.

Вот YAML-файл спама:

version: '3'

services:
  spam-db:
    image: postgres:11.4
    restart: unless-stopped
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: spam
    volumes:
      - postgres_data:/var/lib/postgresql/data/

  spam-service:
    build:
      context: .
      dockerfile: ./config/local/Dockerfile
    container_name: spam-service
    restart: unless-stopped
    depends_on:
      - spam-db
    environment:
      DEBUG: True
      APP_ENV: 'LOCAL_DOCKER'
      BROKER_HOST_NAME: redis-spam
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: spam
      POSTGRES_HOST: spam-db
      POSTGRES_PORT: 5432
    ports:
      - '127.0.0.1:8877:8000'

Сервис Egg абсолютно идентичен, просто замените 'spam' на 'eggs' и порты тоже разные. Как я могу соединить эти два контейнерных проекта, чтобы они могли отправлять друг другу api запросы? И какой именно URL я должен использовать для отправки таких запросов.

Я пытался сделать что-то вроде этого, но безуспешно:

version: '3'

services:
  ...

  spam-service:
    build:
      context: .
      dockerfile: ./config/local/Dockerfile
    container_name: spam-service
    restart: unless-stopped
    depends_on:
      - spam-db
    environment:
      ...
    ports:
      - '127.0.0.1:8877:8000'
    networks: &networks
      - local-network

networks:
  local-network:
    external: true

POST http://spam-service:8877/api/v1/cache/

[2024-03-20 22:04:32,730: ERROR/ForkPoolWorker-4] Ошибка при отправке данных на spam_cachenotok: HTTPConnectionPool(host='spam-service', port=8000): Max retries exceeded with url: /api/v1/cache/ (Причина - NewConnectionError('<urllib3.connection.HTTPConnection object at 0x760d642e54c0>: Failed to establish a new connection: [Errno 111] Connection refused'), url: http://spam-service:8001/api/v1/cache/, data: {'blah':'blah'}

Что я делаю не так?

Вернуться на верх