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'}
Что я делаю не так?