Run docker inside a docker container? Run docker inside a docker container? docker docker

Run docker inside a docker container?


How about not running 'docker inside docker' and run docker on your host, but from within your docker container? Just mount your docker.sock and docker binary:

docker run -v /var/run/docker.sock:/run/docker.sock -v $(which docker):/bin/docker [your image]

https://github.com/sameersbn/docker-gitlab uses this approach to spin up docker containers, take a look at this image.

You can also take a look at: https://registry.hub.docker.com/u/mattgruter/doubledocker/

UPDATE on july 2016

The most current approach is to use docker:dind image, as described here:https://hub.docker.com/_/docker/

Short summary:

$ docker run --privileged --name some-docker -d docker:dind

and then:$ docker run --rm --link some-docker:docker docker info


While in almost all cases I would suggest following @cthulhu's answer and not running "docker in docker", in the cases when you must (e.g. a test suite which tests against multiple docker version), use the following to create additional loopback devices:

#!/bin/bashfor i in {0..6}do    mknod -m0660 /dev/loop$i b 7 $idone

(Taken from the thread for Docker Issue #7058)


You can simply run docker inside the docker container using dind. Try this image from Jerome, as follows:

docker run --privileged -t -i jpetazzo/dind

Check this page for more details:
https://github.com/jpetazzo/dind