docker-compose up
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dahara%22%3Atrue%7D%7D": dial unix /var/run/docker.sock: connect: permission deniedIts specially for Linux
This error occurs because your user does not have permission to access the Docker Unix socket located at . By default, this socket is owned by , and only members of the group can access it without using . [1]
Here are the step-by-step methods to fix this problem, ordered from the most recommended permanent solution to quick workarounds.
Fix 1: Add Your User to the Docker Group (Recommended)
This is the standard and permanent solution. It allows you to run and commands securely as a non-root user.
- Create the docker group (if it doesn't already exist):
sudo groupadd docker - Add your current user to the group:
sudo usermod -aG docker $USER - Activate the group changes immediately in your current terminal session:
newgrp docker
(Note: Alternatively, you can log out and log back into your system to apply this system-wide).
- Test the solution by rerunning your command:
docker-compose up