I want to be able to connect to the redis port from the Docker that launched the docker-compose.

I do not want to bind the ports on the host as it means I won’t be able to start multiple docker-compose from the same model.

— context —
I am attempting to run a docker-compose from within a Jenkins maven build Docker so that I can run tests. But I cannot for the life of me get the original Docker to access exposed ports on the docker-compose

One Solution collect form web for “Link Running External Docker to docker-compose services”

Reference the machines by hostname, v2 automatically connects the nodes by hostname on a private network by default. You’ll be able to ping “web” and “redis” from within each container. If you want to access the machines from your host, include a “ports” definition for each service in your yml.

The v1 links were removed from the v2 compose syntax since they are now implicit. From the docker compose file documentation

links with environment variables: As documented in the environment variables reference, environment variables created by links have been
deprecated for some time. In the new Docker network system, they have
been removed. You should either connect directly to the appropriate
hostname or set the relevant environment variable yourself…