[英]Unable to delete docker image via Jenkins pipeline
I want to delete image from previous build.我想从以前的版本中删除图像。 I'm able to get its image id, however the job dies every time it hits
docker rmi
command.我能够获得它的图像 id,但是每次遇到
docker rmi
命令时,该作业都会终止。
stage('Clean old Image') {
steps {
script {
def imageName = "${registry}" + "/" + "${branchName}"
env.imageName = "${imageName}"
def oldImageID = sh(
script: 'docker images -qf reference=\${imageName}:\${imageTag}',
returnStdout: true
)
echo "Image Name: " + "${imageName}"
echo "Old Image: ${oldImageID}"
if ( "${oldImageID}" != '' ) {
echo "Deleting image id: ${oldImageID}..."
sh 'docker rmi -f $oldImageID'
} else {
echo "No image to delete..."
}
}
}
}
stage log console shows these error messages阶段日志控制台显示这些错误消息
Shell Script -- docker rmi -f $oldImageID (self time 282ms) + docker rmi -f "docker rmi" requires at least 1 argument. See 'docker rmi --help'. Usage: docker rmi [OPTIONS] IMAGE [IMAGE...] Remove one or more images
but actually, the image id is already persists as it shows in stage log但实际上,图像 id 已经存在,因为它在阶段日志中显示
Print Message -- Old Image: 267848fadb74 (self time 11ms) Old Image: 267848fadb74
Try passing in "
instead of '
with ${oldImageID}
尝试使用
${oldImageID}
传入"
而不是'
sh "docker rmi -f ${oldImageID}"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.