I've got two monoliths coming up via make commands, lots of dependencies and takes a very long time. One of the monolith's APIs wishes to call a REST endpoint within the other monolith. Both are running on my localhost which I can ping from localhost. However when I try to ping from within the monolith times outs.
Forgive my ignorance but I do not do a lot of docker or networking, but what information must I pass into the CALLER API container from the RECEIVERS API in order for them to communicate.
They both come up via two different docker-compose.yaml file of defined services such:
services:
pims-api.lh.local:
container_name: pims-api.lh.local
env_file: .env.local
build:
dockerfile: Dockerfile
target: pims-image
context: .
volumes:
- '.:/var/www/html:cached'
depends_on:
- db.lh.local
- redis.lh.local
pims-api-nginx.lh.local:
container_name: pims-api-nginx.lh.local
image: nginx:1.21
restart: 'always'
entrypoint:
- '/usr/sbin/nginx'
- '-c'
- '/etc/nginx/nginx.conf'
- '-g'
- 'daemon off;'
volumes:
- '.:/var/www/html:cached'
- './config/nginx/nginx.conf:/etc/nginx/nginx.conf'
- './config/nginx/app.conf.local:/etc/nginx/conf.d/app.conf'
ports:
- 8100:80
depends_on:
- pims-api.lh.local
links:
- pims-api.lh.local
which I can reach on my localhost as http://pims-api.lh.local:8100/ however if a service from the other monolith tried to call that it will time out. I figure I need to configure a bridge between from the caller to the receivers external network.
However from the research I've done it looks like it can only join the pre-existing network.
https://docs.docker.com/compose/networking/
I have the following networks:
will$ docker network ls
NETWORK ID NAME DRIVER SCOPE
2e83faeabb3c bridge bridge local
159d8ffaace3 host host local
abe217b17a92 pims-api_default bridge local
2f09770d776a product_default bridge local
I wish to bridge pims-api_default and product_default
Kinda at a loss of what the correct approach is here. Sorry for the ramble but scratching my on this one.