도커(Docker)

도커 / Docker / 권한 설정 문제 / permission denied while trying to connect to the Docker daemon socket / 아과노트

아과노트 2023. 3. 3. 13:11
728x90
반응형

부제: permission denied while trying to connect to the Docker daemon socket at unix 해결

안녕하세요, 아과입니다.

 

오늘은 docker version 명령어를 입력했을 때 나타나는 에러에 대해 알아보겠습니다.

(permission denied while trying to connect to the Docker daemon socket)

 

도커 로고
도커 로고

 

먼저 도커 버전을 확인해보겠습니다.

 

아래와 같이 입력해 주세요

docker version

docker version

 

그러면 아래와 같은 메시지를 볼 수 있습니다.

 

 

여기서 한 가지 거슬리는 부분이 나타나는데요...

 

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/version": dial unix /var/run/docker.sock: connect: permission denied

 

이라는 메시지가 뜹니다.

 

오늘은 이 부분을 해결해 보겠습니다.

 

일단 오류메시지를 확인해 보면

 

도커 데몬의 소켓이 unix:///var/run/docker.sock에 접속을 시도하는데 권한이 없어 거부되었다고 합니다.

 

그럼 /var/run/docker.sock에 권한을 주면 될 것 같습니다.

 

일단 그러면 지금 /var/run/docker.sock의 권한이 어떤 상태인지 보도록 하겠습니다.

 

/var/run/docker.sock 권한 확인

 

 ls -lart /var/run/docker.sock

 ls -lart /var/run/docker.sock

그러면 다음과 같이 나옵니다.

docker.sock의 권한 확인
docker.sock의 권한 확인

 

srw-rw---- 1 root docker 의미를 해석해 보면 다음과 같습니다.

s/rw-/rw-/---

s:타입(socket)

rw-: 소유자

rw-: 그룹

---: 일반사용자

root: 소유자

docker: 그룹

 

그럼 정보를 확인했으니 해결을 해보도록 하겠습니다.

docker.sock의 권한 문제를 해결하기 위해서는 3가지 방법이 있습니다.

  1. /var/run/docker.sock 파일의 권한을 변경
  2. /var/run/docker.sock 파일의 소유자나 그룹을 변경
  3. 현재 접속한 사용자의 그룹 추가 : 추천하는 방법

 

각 방법을 간략하게 설명하면 다음과 같습니다.

 

1. /var/run/docker.sock 파일의 권한을 변경

 

파일의 권한 변경은 chmod를 사용합니다.

일반 사용자에게도 rw의 권한을 부여합니다.

sudo chmod 666 /var/run/docker.sock

sudo chmod 666 /var/run/docker.sock

 

2. /var/run/docker.sock 파일의 소유자나 그룹을 변경

 

소유자나 그룹을 변경하기 위해서는 chown 명령어를 사용합니다.

여기서는 소유자를 agwanote로 변경합니다.

sudo chown agwanote:docker /var/run/docker.sock

sudo chown agwanote:docker /var/run/docker.sock

3. 현재 접속한 사용자의 그룹 추가

가장 추천하는 방법입니다.

1, 2번은 파일의 권한을 수정하는 너무 과격한 방법입니다.

usermod를 이용해서 사용자에 docker 그룹을 추가합니다.

sudo usermod -a -G docker $USER

 

sudo usermod -a -G docker $USER

 

권한추가
권한추가

 

사용자관리에 대한 자세한 설명은 다음글을 참고해 주세요.

 

2023.03.03 - [서버(리눅스)] - 우분투(Ubuntu) 22.04 사용자 관리 마스터하기(추가, 수정, 삭제) / 아과노트

 

우분투(Ubuntu) 22.04 사용자 관리 마스터하기(추가, 수정, 삭제) / 아과노트

오늘은 우분투의 사용자 관리에 대해서 마스터 해 보는 시간을 갖도록 하겠습니다. 우분투 사용자 관리의 순서는 다음과 같습니다. 우분투의 특정 사용자 (ID) 계정 정보 조회 현재 우분투에 등

alphalok.tistory.com

 

그리고 exit로 나간 후 다시 putty에 접속합니다.

*재접속하지 않으면 그룹이 반영되지 않습니다.

 

* 그룹권한 확인

그리고 groups로 그룹 권한이 잘 들어갔는지 확인합니다.

 

그룹권한 확인
그룹권한 확인

 

마지막으로 이제 다시 docker version으로 확인합니다.

 

docker version 확인
permission denied가 해결되었습니다.

그러면 아까 보였던 permission denied while trying to connect to the Docker daemon socket 메시지가 사라진 것을 볼 수 있습니다.

 

오늘은 여기까지입니다.

 

고생하셨습니다.

728x90
반응형