Skip to content

Add additional service network alias (project_name + service_name). #11257

Open

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:

  1. make all service name unique in all docker compose projects;
  2. set unique alias names in all docker compose projects,

It there is another solution, please write in comments.

Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions