본문 바로가기

리눅스

[WIP] Docker /var/run/docker.sock Permission Denied 해결 방법

728x90

Docker /var/run/docker.sock Permission Denied 해결 방법

Docker 사용 중 아래와 같은 오류가 발생하는 경우

$ docker search zookeeper                    
Got 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/images/search?limit=25&term=zookeeper": dial unix /var/run/docker.sock: connect: permission denied
$ docker ps -a
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/containers/json?all=1": dial unix /var/run/docker.sock: connect: permission denied

원인 분석

Docker CLI는 /var/run/docker.sock 파일을 통해 Docker Daemon과 통신합니다.

 

해당 소켓 파일은 일반적으로 아래와 같은 권한을 가집니다.

srw-rw---- 1 root docker /var/run/docker.sock

root 사용자, docker 그룹 사용자만 접근이 가능합니다.

따라서 현재 사용자가 docker 그룹에 포함되어 있지 않으면 Permission Denied 오류가 발생합니다.

해결 방법

1. 현재 사용자 확인

echo $USER

2. Docker 그룹에 사용자 추가 (권장 방법)

sudo usermod -aG docker $USER

적용  방법

  • 로그아웃하고 로그인하여 변경 사항을 적용합니다.
  • 또는
newgrp docker

변경 확인

groups

3. Docker 서비스 재시작

sudo systemctl restart docker

4. 동작 확인

docker search zookeeper
$ docker search zookeeper      
NAME                               DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
zookeeper                          Apache ZooKeeper is an open-source server wh…   1156      [OK]       
jplock/zookeeper                   Builds a docker image for Zookeeper version …   165                  [OK]
wurstmeister/zookeeper                                                             157                  [OK]
mesoscloud/zookeeper               ZooKeeper                                       73                   [OK]
digitalwonderland/zookeeper        Latest Zookeeper - clusterable                  23                   [OK]
mbabineau/zookeeper-exhibitor                                                      23                   [OK]
tobilg/zookeeper-webui             Docker image for using `zk-web` as ZooKeeper…   15                   [OK]
debezium/zookeeper                 Zookeeper image required when running the De…   14                   [OK]
confluent/zookeeper                [deprecated - please use confluentinc/cp-zoo…   13                   [OK]
31z4/zookeeper                     Dockerized Apache Zookeeper.                    9                    [OK]
thefactory/zookeeper-exhibitor     Exhibitor-managed ZooKeeper with S3 backups …   6                    [OK]
engapa/zookeeper                   Zookeeper image optimised for being used int…   3                    
emccorp/zookeeper                  Zookeeper                                       2                    
josdotso/zookeeper-exporter        ref: https://github.com/carlpett/zookeeper_e…   2                    [OK]
harisekhon/zookeeper               Apache ZooKeeper (tags 3.3 - 3.4)               2                    [OK]
dabealu/zookeeper-exporter         zookeeper exporter for prometheus               1                    [OK]
paulbrown/zookeeper                Zookeeper on Kubernetes (PetSet)                1                    [OK]
openshift/zookeeper-346-fedora20   ZooKeeper 3.4.6 with replication support        1                    
perrykim/zookeeper                 k8s - zookeeper  ( forked k8s contrib )         1                    [OK]
duffqiu/zookeeper-cli                                                              1                    [OK]
strimzi/zookeeper                                                                  1                    
phenompeople/zookeeper             Apache ZooKeeper is an open-source server wh…   0                    [OK]
pravega/zookeeper-operator         Kubernetes operator for Zookeeper               0                    
midonet/zookeeper                  Dockerfile for a Zookeeper server.              0                    [OK]
humio/zookeeper-dev                zookeeper build with zulu jvm.                  0

5. 소켓 권한 직접 변경

sudo chmod 666 /var/run/docker.sock
모든 사용자에게 Docker 접근 권한 부여

문제점

  • 시스템 내 모든 사용자가 Docker 제어 가능
  • 사실상 root 권한과 동일 수준 위험
  • 보안 취약점 발생 가능
운영 환경에서는 절대 권장하지 않음

 

728x90