티스토리 뷰

반응형

 

 

 

 

 

 



 

 

jenkinsdocker

 

 

 

젠킨스 파이프라인 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 으로 주는 경우도 있는데

모든 권한에서 접근 가능하므로 지양하는 것이 좋겠다.

 

 

 

 

 



 

 

 

반응형
댓글
반응형
최근에 올라온 글
«   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
Total
Today
Yesterday