I have a container inside which I need to use another container (the first container holds my build env, and some of the projects are built by creating a container). I read about avoiding docker-in-docker, and followed the advice here: https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/ So I run the container like this:
docker run -v /var/run/docker.sock:/var/run/docker.sock -ti 6519bf891fee bash
This is what I get, trying to run docker hello-world
inside the container:
root@345cf0f934c3:/# docker run hello-world
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
I don’t think I’m supposed to have permission problems. I am running as root both in the host and in the container, and have added the docker user to sudoers group in both.
srw-rw----. 1 root root 0 Nov 29 08:58 /var/run/docker.sock
sudo:x:27:build,docker
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.
The answer is: run docker with
--privileged=true