Can I run docker in docker?

0 votes

I'm working on a CI /CD jenkins pipeline I have specified a docker container as an agent to run my commands and  one of my commands, in the Build stage, is a Docker command (for building an image), and in this case I need to run a Docker command within a Docker container. How can i do it?

Jul 5 in Docker by Namik
• 1,200 points
121 views

1 answer to this question.

0 votes

If you want to use Docker in Docker, that is nested Docker instances that are completely encapsulated from each other. You can do this with the DinD (Docker in Docker) tag of the docker image, as follows:

docker run --privileged -d docker:dind

The main trick is to have the --privileged flag. Then, there are a few things to care about:

  • cgroups pseudo-filesystems have to be mounted, and they have to be mounted with the same hierarchies than the parent environment; this is done by a wrapper script, which is setup to run by default;

  • /var/lib/docker cannot be on AUFS, so we make it a volume.

That's it.

Note: --privileged is required for Docker-in-Docker to function properly, but it should be used with care as it provides full access to the host environment

answered Jul 5 by Sirajul
• 25,180 points

Related Questions In Docker

0 votes
1 answer
+1 vote
11 answers
0 votes
1 answer
0 votes
1 answer

Can I run docker-compose inside a container?

Compose can also be run inside a ...READ MORE

answered Jun 10 in Docker by Sirajul
• 25,180 points
162 views
0 votes
1 answer
0 votes
1 answer

Deploy Docker Containers from Docker Cloud

To solve this problem, I followed advice ...READ MORE

answered Sep 3, 2018 in AWS by Priyaj
• 56,520 points
150 views
0 votes
1 answer
0 votes
2 answers

How do I run Windows 7 in docker?

By definition of the tool, docker cannot ...READ MORE

answered Aug 14 in Docker by Sirajul
• 25,180 points
77 views