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
edited by bobbyiliev

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.

×
1 answer

The answer is: run docker with --privileged=true

Submit an Answer