I would like to network with a child docker container from a parent docker container, with a docker-in-docker setup.
Let\'s say I\'m trying to connect to a simple Apache
There are pros and cons for both DinD and bind mounting the Docker socket and there are certainly use cases for both. As an example, check out this set of blog posts, which does a good job of explaining one of the use cases.
Given your example docker-in-docker setup above, you can access Apache httpd server in one of two ways:
1) From inside the docker:dind
container, it will be available on localhost:8080
.
2) From inside the docker:latest
container, where you were trying to access it originally, it will be available on whatever hostname is set for the docker:dind
container. In this case, you used --name mydind
, therefore curl mydind:8080
would give you the standard Apache
.It works!
Hope it makes sense!