Description
Description
By default, a service has 3 network aliases: container name, service name, container id.
Would be great to have one more default alias which would be computed from docker compose project name
and service name
. For example: project name: micro1
, service name: app
, so the alias would be: micro1-app
.
This alias would help with solving the problem with DNS service name collisions when multiple Docker Compose projects are connected together with external networks.
Example:
docker-compose (A)
services:
app:
networks:
default:
web:
networks:
default:
common:
docker-compose (B)
services:
app:
networks:
common:
default:
The service web
from compose A
calling service app
may call his internal service app
or external service app from compose B
.
Having a default alias like docker compose project name
and service name
would resolve the problem.
Currently, without this feature, I see 2 solutions:
- make all service name unique in all docker compose projects;
- set unique alias names in all docker compose projects,
It there is another solution, please write in comments.
Thank you.