permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: dial unix /var/run/docker.sock: connect: permission denied 문제

sseongeun·2024년 12월 30일
0

deploy

목록 보기
1/2

서버의 SSl 인증서 만료문제를 해결하고 다시 프론트엔드 cicd를 재배포했다.

근데 빌드가 되지 않는 문제 발생..

"permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http://%2Fvar%2Frun%2Fdocker.sock/_ping": dial unix /var/run/docker.sock: connect: permission denied
2024/12/30 05:28:10 Process exited with status 1"
라는 에러가 떴는데

찾아보니까
1. Docker 데몬 소켓 파일(/var/run/docker.sock)의 그룹이 docker로 설정되어 있음.
2. 현재 명령을 실행하는 사용자(클라이언트)가 docker 그룹에 포함되어 있지 않음.
=> 따라서 일반 사용자 그룹이 소켓 파일에 대해 읽기/쓰기 권한을 가지고 있어야 한다.

소켓 파일 (/var/run/docker.sock)에 대한 접근 권한을 확인해보자!

[명령어]

sudo ls -l /var/run/docker.sock

[출력결과]

srw-rw---- 1 root root 0 Nov 22 09:38 /var/run/docker.sock

이때 's'는 소켓 파일임을 의미하며, 뒤에 9자리는 접근 권한을 의미한다.

rw-rw----:
소유자(root): 읽기/쓰기 권한 O.
그룹(docker): 읽기/쓰기 권한 O.
기타 사용자: 권한 없음.

일반 사용자에게도 접근 권한을 부여해, cicd 상의 코드에서도 해당 파일에 접근할 수 있도록 수정하자!

sudo chmod 666 /var/run/docker.sock
srw-rw-rw- 1 root root 0 Nov 22 09:38 /var/run/docker.sock

=> 이렇게 바뀐것을 확인 할 수 있다!


profile
공부 기록...

0개의 댓글