[TIL] 23.04.20 EC2 Linux에 Docker 설치시 생긴 에러 docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post

hyewon jeong·2023년 4월 20일
0

TIL

목록 보기
119/138

1 발생

명령창에 아래 명령어 입력 후
sudo systemctl start docker
docker pull redis 했더니 에러가 발생했다.


2 코드

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'

3 원인

이 오류 메시지는 사용자가 docker 명령을 실행할 때 Docker 데몬 소켓에 접근할 수 있는 권한이 없다는 것을 낸다.
이 소켓은 /var/run/docker.sock 경로에 위치하며 Docker 컨테이너와 상호 작용하는 데 사용된다.

맥의 경우 ! 권한부여를 해야되는 것이 뽀인트였다. !!!

이 문제를 해결하려면 docker 명령을 실행하는 사용자에게 적절한 권한을 부여해야 합니다. 예를 들어, docker 그룹의 멤버로 추가하거나 sudo 명령으로 권한을 부여할 수 있.


4 해결

이 오류는 일반적으로 현재 사용자가 Docker 그룹의 멤버가 아니거나 sudo 명령을 사용하지 않아 권한이 없기 때문에 발생합니다. 이 문제를 해결하는 몇 가지 방법을 설명하겠습니다.

1.현재 사용자를 Docker 그룹의 멤버로 추가하기

sudo usermod -aG docker $USER

위 명령어를 실행하면 현재 사용자를 Docker 그룹의 멤버로 추가할 수 있습니다. 이 명령어를 실행한 후 사용자 세션이나 쉘을 다시 시작해야 적용됩니다.

⭐️ **Mac에서는 다음 명령어를 사용하여 현재 로그인한 사용자 이름을 확인할 수 있다.

whoami

예시

sudo usermod -aG docker ubuntu
  1. sudo 명령을 사용하여 Docker 명령 실행하기
sudo service docker start

or

sudo systemctl start docker
  1. 권한을 부여하는 대신 Docker 소켓 파일의 권한 변경하기
sudo chmod 666 /var/run/docker.sock

위 명령어를 실행하면 Docker 소켓 파일의 권한을 변경하여 현재 사용자가 Docker 명령을 실행할 수 있게 할 수 있습니다. 그러나 이 방법은 보안상 좋지 않을 수 있으므로 권장하지 않습니다.

위 방법 중 하나를 선택하여 Docker 명령을 실행하면 권한 문제를 해결할 수 있습니다.

profile
개발자꿈나무

0개의 댓글