명령창에 아래 명령어 입력 후
sudo systemctl start docker
docker pull redis 했더니 에러가 발생했다.
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.24/containers/create": dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'
이 오류 메시지는 사용자가 docker 명령을 실행할 때 Docker 데몬 소켓에 접근할 수 있는 권한이 없다는 것을 낸다.
이 소켓은 /var/run/docker.sock 경로에 위치하며 Docker 컨테이너와 상호 작용하는 데 사용된다.
이 문제를 해결하려면 docker 명령을 실행하는 사용자에게 적절한 권한을 부여해야 합니다. 예를 들어, docker 그룹의 멤버로 추가하거나 sudo 명령으로 권한을 부여할 수 있.
이 오류는 일반적으로 현재 사용자가 Docker 그룹의 멤버가 아니거나 sudo 명령을 사용하지 않아 권한이 없기 때문에 발생합니다. 이 문제를 해결하는 몇 가지 방법을 설명하겠습니다.
1.현재 사용자를 Docker 그룹의 멤버로 추가하기
sudo usermod -aG docker $USER
위 명령어를 실행하면 현재 사용자를 Docker 그룹의 멤버로 추가할 수 있습니다. 이 명령어를 실행한 후 사용자 세션이나 쉘을 다시 시작해야 적용됩니다.
⭐️ **Mac에서는 다음 명령어를 사용하여 현재 로그인한 사용자 이름을 확인할 수 있다.
whoami
예시
sudo usermod -aG docker ubuntu
sudo service docker start
or
sudo systemctl start docker
sudo chmod 666 /var/run/docker.sock
위 명령어를 실행하면 Docker 소켓 파일의 권한을 변경하여 현재 사용자가 Docker 명령을 실행할 수 있게 할 수 있습니다. 그러나 이 방법은 보안상 좋지 않을 수 있으므로 권장하지 않습니다.
위 방법 중 하나를 선택하여 Docker 명령을 실행하면 권한 문제를 해결할 수 있습니다.