I am trying to run a container inside another container using Docker inside docker https://hub.docker.com/_/docker.
When I run the following:
docker run --privileged docker:stable-dind docker run hello-world
I get the following error message:
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?. See 'docker run --help'.
I must be missing something, how can I run docker inside docker?
I don't think you can do this in a one-liner (others might correct me). However, as explained at hub.docker.com/_/docker/, you can start the a docker-in-docker container as a background daemon (-d
) and then start other containers inside.
To start the parent container, run
docker run -d --name some-docker --privileged docker:stable-dind
The name some-docker
is arbitrary. It will be used to identify this container later on. To start a container inside, run
docker run --link some-docker:docker docker run hello-world
The --link
option exposes the network ports of the parent container and sets environment variables, such that the inner container uses docker from the dind image.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With