티스토리 뷰
DevOps/Jenkins
[Jenkins] docker build 수행시 권한 문제 해결.(permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock)
종벌🍀 2025. 10. 31. 15:27반응형
젠킨스 파이프라인 Jenkinsfile 을 이용해 도커 빌드를 해야하는데
권한 설정을 해주지 않으면 아래와 같은 에러가 발생하게 된다.
[Pipeline] sh
+ docker build -t test:1.0 -f Dcokerfile .
ERROR: 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
딱봐도 권한 에러
도커 데몬은 root 권한에서 실행하며 /var/run/docker.sock 의 소유자는 root:docker 이다.
그래서 젠킨스가 docker 를 수행하려고 하면 권한 에러가 발생한다.
간단하게 젠킨스를 docker 그룹에 포함시키면 된다.
usermod -aG docker jenkins
[root@localhost /]# id jenkins
uid=993(jenkins) gid=989(jenkins) groups=989(jenkins),986(docker)
젠킨스계정이 젠킨스그룹과 도커그룹에 포함된 것을 확인 할 수 있다.
다시 젠킨스 job 을 수행하면 아까의 권한 문제는 해결 되고 도커 이미지 빌드가 잘 되는 것을 확인 할 수 있다.
권한 그룹에 추가하는 것 말고도 docker.sock 파일의 권한을 666 으로 주는 경우도 있는데
모든 권한에서 접근 가능하므로 지양하는 것이 좋겠다.
반응형
'DevOps > Jenkins' 카테고리의 다른 글
| [Jenkins] git 재인증을 받아야 할때, 해줘야 할 것. (Failed to setup credentials) (0) | 2025.02.03 |
|---|---|
| [Jenkins] jdk-Gradle 버전 차이로 인한 빌드오류 해결. (0) | 2024.10.15 |
| [Jenkins] 젠킨스, java 21 로 업그레이드 하기. (java 11 종료에 따른) (1) | 2024.09.12 |
| [Jenkins] 레거시 업데이트 실패, 복구 및 Job 이관하기 (3) | 2024.03.19 |
| [Jenkins] 젠킨스 버전 업데이트하기 (feat.rockylinux) (0) | 2024.01.30 |
댓글