Knowledge base dedicated to Linux and applied mathematics.
Home > Linux > Tip of the day > Got permission denied while trying to connect to the Docker daemon (...)
You run docker run hello-word and you get permission denied while trying to connect to the Docker daemon socket ...
How to fix this ?
You run docker run hello-word and you get:
Got permission denied while trying to connect to the Docker daemon socket
How to fix this ?
Check if you do not forget sudo
mathlinux@osboxes:~$ sudo docker run hello-word
Add docker group if it does not exist:
mathlinux@osboxes:~$ sudo groupadd docker
Check it:
mathlinux@osboxes:~$ getent group docker
docker:x:141:
Here, user mathlinux is not on docker group. Add it like follows and restart docker engine:
mathlinux@osboxes:~$ sudo usermod -aG docker ${USER}
mathlinux@osboxes:~$ getent group docker
docker:x:141:mathlinux
mathlinux@osboxes:~$ sudo systemctl restart docker
Since you add this user to docker group, you do not need to use sudo:
mathlinux@osboxes:~$ docker run hello-word
The Docker daemon can listen for Docker Engine API requests via three different types of Socket: unix, tcp, and fd.
By default, a unix domain socket (or IPC socket) is created at /var/run/docker.sock, requiring either root permission, or docker group membership. So try to check that docker group is allowed to read/write:
mathlinux@osboxes:~$ ls -al /var/run/docker.sock
srw-rw---- 1 root docker 0 Oct 12 12:35 /var/run/docker.sock
It it is not:
mathlinux@osboxes:~$ sudo systemctl stop docker
mathlinux@osboxes:~$ sudo chown root:docker /var/run/docker.sock
mathlinux@osboxes:~$ sudo chown chmod 660
mathlinux@osboxes:~$ ls -al /var/run/docker.sock
srw-rw---- 1 root docker 0 Oct 12 12:38 /var/run/docker.sock
mathlinux@osboxes:~$ sudo systemctl start docker
mathlinux@osboxes:~$ docker run hello-word