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 설치 상태를 다시 확인할 필요가 있습니다.
'About > Docker' 카테고리의 다른 글
[Docker] Docker 컨테이너에서 호스트 머신의 로컬호스트에 접속하는 방법 (host.docker.internal) (0) | 2023.11.18 |
---|---|
[Docker] Docker 호스트에서 컨테이너 IP 주소 찾는 쉬운 방법 (1) | 2023.11.15 |
[Docker] Docker 컨테이너 내에서 cron job 실행하는 방법 (0) | 2023.05.02 |
[Docker] Docker 빌드 컨텍스트 외부 파일 포함 방법 (0) | 2023.05.01 |
[Docker] 이미지를 깨끗하게 재빌드하는 방법 (0) | 2023.04.29 |