문제
- 이 오류는 podman이 컨테이너 스토리지에 접근할 때 permission denied 오류가 발생한다.
- 일반적으로 컨테이너 내부에서 podman을 실행할 때 발생하며, 컨테이너 권한의 문제나 컨테이너에서 Podman의 스토리지 설정이 제대로 작동하지 않기 때문이다.
해결
- privileged 모드를 사용한다.
- 해당 모드를 사용하면 컨테이너가 호스트 시스템에 더 많은 권한을 갖게되어 이러한 권한 문제를 해결할 수 있다.
- 그러나 많은 권한을 갖게되기 때문에 보안적으로 취약한 방법일 수 있다.
pipeline {
agent {
kubernetes {
inheritFrom 'default'
defaultContainer 'jnlp'
containerTemplate {
name 'podman'
image 'quay.io/podman/stable:latest'
ttyEnabled true
command 'cat'
privileged true // Privileged 모드 활성화
}
}
}
stages {
stage('Clone Repository') {
steps {
container('git') {
git branch: 'main', url: "${GIT_REPO}"
}
}
}
stage('Build Docker Image') {
steps {
container('podman') {
sh 'podman --storage-driver vfs build -t $DOCKER_REGISTRY/$IMAGE_NAME:$TAG_NAME -f ./Dockerfile .'
}
}
}
}
}
Bulid Docker Image가 성공한 것을 확인할 수 있다.
728x90
반응형