티스토리 뷰

728x90

linux에서 도커를 설치 후 이미지를 실행시키려는데 다음과 같은 에러가 났다.

 

docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create": dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

 

/var/run/docker.sock에 권한이 없어서 연결 할 수 없다는 에러

ls-al 을 통해서 소유자와 그룹을 확인 해보니 다음과 같았다.

/var/run/docker.sock에 접근 권한이 있으려면 root 권한이거나 docker 그룹이어야한다.

리눅스 사용자 그룹을 확인해보면, docker 그룹에 속한 사용자가 없는 것을 확인 할 수 있다.

cat /etc/group | grep docker

docker:x:992:

따라서, 아래 명령어로 현재 사용자를 docker 그룹에 추가하여 docker 컨테이너를 실행 할 수 있는 권한을 부여해야한다.

sudo usermod -a -G docker $USER

# usermod: 사용자 계정의 속성을 수정하는 명령어
# -a: "append"의 약자로, 기존 그룹에 사용자를 추가
# -G docker: 사용자를 "docker" 그룹에 추가. "docker" 그룹은 Docker 컨테이너를 실행하기 위한 권한을 가지고 있다
# $USER: 이 부분은 현재 사용자의 이름을 나타내는 환경 변수. 명령을 실행하는 사용자의 이름으로 자동으로 대체(ec2-user)

 

명령어 실행 후 서버 리부팅이 필요하다.

reboot

 

리부팅 후 다시 사용자 그룹을 확인해보면 docker그룹에 ec2-user 라는 사용자가 추가 된 것을 확인 할 수 있다.

cat /etc/group | grep docker
docker:x:992:ec2-user

 

이후 다시 도커 컨테이너 실행 명령어를 입력하면, 정상적으로 실행할 수 있다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함