[Docker] permission denied while trying to connect to the Docker daemon socket at unix 에러 해결

2025. 3. 23. 22:26·DevOps/Docker
728x90
반응형

Docker를 컨테이너에서 실행하거나, 호스트의 Docker 소켓(/var/run/docker.sock)을 컨테이너에 마운트하여 사용하는 경우, 예상치 못한 권한 문제로 인해 Docker 명령이 작동하지 않을 때가 있습니다. 이 글에서는 Docker 소켓 접근 권한 문제를 해결하는 방법을 단계별로 안내합니다.


1. 증상

[runner@ae8762224dd7 /]$ docker ps
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json": dial unix /var/run/docker.sock: connect: permission denied

Docker가 설치된 것 같지만, docker 명령이 제대로 실행되지 않는 경우가 있습니다. 이 문제는 주로 Docker 소켓 파일(/var/run/docker.sock)의 소유권 문제로 발생합니다.

2. 원인

Docker 데몬은 Unix 소켓을 통해 명령을 수신하며, /var/run/docker.sock 파일에 대해 읽기 및 쓰기 권한을 가진 사용자나 그룹만 Docker 명령을 사용할 수 있습니다. 이 소켓 파일은 기본적으로 docker 그룹에 속한 사용자만 접근할 수 있도록 설정되어 있습니다. 따라서, 소켓 파일에 접근하려는 사용자가 docker 그룹에 속해 있지 않다면 Docker 명령이 작동하지 않습니다.

3. 해결 방법

1) Docker 소켓의 소유 계정과 그룹 확인

우선, /var/run/docker.sock의 소유자와 그룹을 확인합니다.

ls -l /var/run/docker.sock

출력 예시는 다음과 같을 수 있습니다:

srw-rw---- 1 docker docker 0 Nov  4 12:00 /var/run/docker.sock

여기서 docker:docker는 소켓 파일의 소유자와 소유 그룹입니다. 즉, Docker 소켓에 접근하려면 docker 그룹에 속해 있어야 합니다.

2) 사용자 추가 및 그룹 변경

Docker 소켓 파일을 사용하려는 계정이 docker 그룹에 속해 있지 않다면, 동일한 그룹을 가진 계정을 생성하거나, 현재 계정을 docker 그룹에 추가합니다.

예를 들어, 소켓 파일의 소유주가 docker:docker라면, 다음 명령어로 docker 사용자 계정을 만들고 전환하여 문제를 해결할 수 있습니다.

3) 현재 사용자에게 docker 그룹 추가

만약 현재 사용 중인 계정으로 Docker에 접근하고 싶다면, 현재 계정을 docker 그룹에 추가합니다.

# 현재 계정이 docker 그룹에 속해 있도록 설정합니다.
usermod -aG docker $(whoami)

그룹 설정을 변경한 후에는 로그아웃했다가 다시 로그인하거나, newgrp docker 명령을 사용하여 변경 사항을 적용합니다.

4) Docker 실행 확인

설정이 완료되면 docker 명령어가 정상적으로 작동하는지 확인합니다.

docker --version

정상적으로 Docker 버전 정보가 출력되면 설정이 완료된 것입니다.


정리

  • Docker 소켓 파일(/var/run/docker.sock)의 소유자와 소유 그룹을 확인합니다.
  • 필요한 경우 docker 그룹과 동일한 계정을 생성하거나 현재 계정을 docker 그룹에 추가하여 권한 문제를 해결합니다.
  • 그룹 변경 후 Docker 명령이 작동하는지 확인합니다.

위의 단계를 따라 권한 문제를 해결하면 Docker 명령을 정상적으로 사용할 수 있을 것입니다.

반응형

'DevOps > Docker' 카테고리의 다른 글

[Docker] DockerHub에 이미지 올리기  (0) 2025.03.23
[Docker] Docker 권한 설정하기  (0) 2025.03.23
[Docker] 도커 설치하기  (0) 2025.03.23
[Docker] 버츄얼박스(VirtualBox) & 우분투(Ubuntu) 설치  (0) 2025.03.23
[Docker] Dockerfile 기본 명령어와 최적화  (2) 2024.01.31
'DevOps/Docker' 카테고리의 다른 글
  • [Docker] DockerHub에 이미지 올리기
  • [Docker] Docker 권한 설정하기
  • [Docker] 도커 설치하기
  • [Docker] 버츄얼박스(VirtualBox) & 우분투(Ubuntu) 설치
제가안난데여♪(´ε`*)
제가안난데여♪(´ε`*)
기억의 유한함을 기록의 무한함으로 ✍️ 예비 개발자가 꿈꾸는 공간 여기는 안나의 개발 블로그 💻
  • 제가안난데여♪(´ε`*)
    안나의 전두엽 어딘가 🧠
    제가안난데여♪(´ε`*)
    기억의 유한함을 기록의 무한함으로 ✍️ 예비 개발자가 꿈꾸는 공간 여기는 안나의 개발 블로그 💻
  • 전체
    오늘
    어제
    • 분류 전체보기 (128)
      • 간단하게 한스푼🥄 (1)
      • Programming (56)
        • Spring (16)
        • Vue.js (6)
        • Deep Learning (3)
        • DataBase (5)
        • React (26)
      • DevOps (21)
        • Docker (12)
        • Linux (4)
      • Algorithm (46)
        • 알고리즘 정리 (5)
        • 자료구조 (0)
        • PS - 백준 (28)
        • 99클럽 코테 스터디 (13)
      • Project (0)
        • CampFire (0)
      • 안나의 취뽀일기 (˵ •̀ ᴗ - ˵ ) ✧ (4)
        • SSAFY_9기 (2)
        • SW 부트캠프 (2)
  • 잔디 달력

    «   2026/01   »
    일 월 화 수 목 금 토
    1 2 3
    4 5 6 7 8 9 10
    11 12 13 14 15 16 17
    18 19 20 21 22 23 24
    25 26 27 28 29 30 31
  • 인기 글

  • 태그

    React
    java stack
    Vue.js 입문하기
    자바 스택
    김영한
    linux
    Vue.js
    springboot
    코딩테스트 준비
    도커
    Vue
    stack
    docker
    greedy
    개발자 취업
    java 백준
    알고리즘
    topology sort
    자바
    도커컨테이너
    java
    Spring
    백준
    til
    항해99
    99클럽
    백준 구현문제
    front-end
    리액트 상태
    백준 java
  • 01-25 08:00
    반응형
  • hELLO· Designed By정상우.v4.10.3
제가안난데여♪(´ε`*)
[Docker] permission denied while trying to connect to the Docker daemon socket at unix 에러 해결
상단으로

티스토리툴바