【问题标题】:How to delete post build tangling docker images from Jenkins build file or bash script?如何从 Jenkins 构建文件或 bash 脚本中删除构建后的 docker 镜像?
【发布时间】:2022-01-27 04:02:52
【问题描述】:

在 Jenkins 流水线场景中,如何删除构建后剩余的镜像?

我现在登录虚拟机并使用手动命令:

 docker images -q |xargs docker rmi

这是我的 Jenkins 脚本:

        stage 'Deploy'
         dir('/apps/npt'){
            sh 'chmod +x deploy_prod.sh'
            sh './deploy_prod.sh'
         }

这是部署脚本:

#!/bin/bash

#build docker container
docker build -t nptproduction .


# stop existing container and remove image
docker stop nptproduction && docker rm nptproduction

# run new image
docker run  -d -p 5021:4000  --name nptproduction nptproduction

我知道在部署脚本中我需要捕获任何错误,如果是这样,请不要停止/不要删除现有的(工作图像/容器),但这取决于未来的更新...

【问题讨论】:

    标签: bash docker jenkins ubuntu-16.04


    【解决方案1】:

    (我假设您需要 jenkins 的帮助。)

    如果您在 jenkinsfile 中使用声明式管道语法,则可以在 post 部分添加删除命令。根据您的用例,您可以像往常一样添加指令或成功添加指令:

    post { 
            success { 
                sh ''
            }
        }
    

    在上面的 sh'' 语句中,您可以使用该命令删除所有 docker 镜像,但需要的镜像除外。 网址:https://www.jenkins.io/doc/book/pipeline/syntax/#post-conditions

    【讨论】:

    • 非常感谢!实际上,我还需要有关如何实际删除图像本身的支持。 ...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    • 1970-01-01
    • 2018-06-15
    • 2020-10-06
    相关资源
    最近更新 更多