About/Docker

[Docker] Docker 사용 중 "권한 거부" 문제 해결하기: 단계별 가이드(Got permission denied 에러 해결)

김징어 2023. 11. 10. 21:59

Docker 사용 중 "권한 거부" 문제 해결하기: 단계별 가이드

Docker를 사용하다 보면, docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock라는 오류 메시지를 마주할 수 있습니다. 이는 Docker 데몬에 대한 접근 권한이 없을 때 발생하는 일반적인 문제입니다. 이 글에서는 이 문제를 해결하는 방법을 단계별로 살펴보겠습니다.

문제 이해하기

Docker 데몬은 기본적으로 root 사용자 또는 docker 그룹의 멤버만이 접근할 수 있습니다. 따라서, 일반 사용자가 Docker 명령을 실행하려고 할 때 접근 권한 오류가 발생할 수 있습니다.

해결책 1: 사용자를 Docker 그룹에 추가하기

가장 간단한 해결책은 현재 사용자를 docker 그룹에 추가하는 것입니다. 이렇게 하면 사용자가 root 권한 없이도 Docker 데몬에 접근할 수 있게 됩니다.

현재 사용자를 Docker 그룹에 추가합니다

sudo usermod -aG docker ${USER}

 

 

변경 사항을 적용하기 위해 시스템을 재부팅하거나 로그아웃 후 다시 로그인합니다.

그룹 변경이 제대로 적용되었는지 확인합니다.

groups

해결책 2: Docker 데몬에 대한 권한 조정하기

또 다른 방법은 Docker 데몬 소켓 파일의 권한을 조정하는 것입니다. 이 방법은 권장되지 않으나, 필요한 경우 아래와 같이 진행할 수 있습니다.

 

Docker 소켓 파일의 권한을 확인합니다

ls -l /var/run/docker.sock

 

필요한 경우, 소켓 파일의 권한을 변경합니다:

sudo chmod 666 /var/run/docker.sock

주의사항

  • 사용자를 docker 그룹에 추가하는 것은 보안상의 리스크를 줄일 수 있는 방법입니다.
  • Docker 데몬 소켓 파일의 권한을 변경하는 것은 보안상 위험할 수 있으므로, 가능한 피하는 것이 좋습니다.

이러한 단계를 통해 대부분의 경우 Docker의 "권한 거부" 문제를 해결할 수 있습니다. 만약 이러한 해결책들이 작동하지 않는다면, 시스템 설정이나 Docker 설치 상태를 다시 확인할 필요가 있습니다.