How to fix docker: Got permission denied issue

ghz 8months ago ⋅ 86 views

I installed Docker in my machine where I have Ubuntu OS. When I run:

sudo docker run hello-world

All is ok, but I want to hide the sudo command to make the command shorter. If I write the command without sudo

docker run hello-world

That displays the following:

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.35/containers/create: dial unix /var/run/docker.sock: connect: permission denied. See 'docker run --help'.

The same happens when I try to run:

docker-compose up

How can I resolve this?

Answers

To run Docker commands without using sudo, you need to add your user to the docker group. Here's how you can do it:

  1. Open a terminal window.

  2. Run the following command to add your user to the docker group:

    sudo usermod -aG docker $USER
    
  3. After running the command, you need to log out and log back in again for the changes to take effect. Alternatively, you can run the following command to apply the changes without logging out:

    su - $USER
    
  4. Once you've logged back in, you should be able to run Docker commands without using sudo. You can verify this by running:

    docker run hello-world
    

This should now work without requiring sudo. Similarly, docker-compose up should also work without sudo after adding your user to the docker group.