使用Cloudbees Docker build and Publish插件时从Jenkins slave post build中删除图像

使用Cloudbees Docker build and Publish插件时从Jenkins slave post build中删除图像,jenkins,docker,cloudbees,Jenkins,Docker,Cloudbees,我们正在使用Cloudbees Docker构建和发布插件在Jenkins实例中构建Docker图像。构建工作正常,我们正在成功地推进Docker Hub,但这些图像仍停留在Jenkins从机上,造成了空间问题 是否有在成功构建和推送后删除图像的选项?谢谢。正如您所说,您需要在Cloudbees Docker Build and Publish plugin的高级部分中添加--rm作为额外的构建参数,以摆脱这些中间容器,但您构建并推送到repo的图像仍将保留在主机上。简单的修复方法是添加一个构建

我们正在使用Cloudbees Docker构建和发布插件在Jenkins实例中构建Docker图像。构建工作正常,我们正在成功地推进Docker Hub,但这些图像仍停留在Jenkins从机上,造成了空间问题


是否有在成功构建和推送后删除图像的选项?谢谢。

正如您所说,您需要在Cloudbees Docker Build and Publish plugin的高级部分中添加
--rm
作为额外的构建参数,以摆脱这些中间容器,但您构建并推送到repo的图像仍将保留在主机上。简单的修复方法是添加一个构建步骤并执行如下shell命令来删除这些图像:


假设您用Jenkins BUILD_NUMBER标记图像,您可以用您使用的任何变量替换它。

查看它们的(1.2.2),应该有一个
附加构建参数
文本字段,您可以在其中添加构建标志,如
--rm
。感谢您的回复。我们在其他构建参数下确实有这样的功能,它正在删除中间容器(即docker Build--rm=true…),但我在构建输出中也看到了以下内容。第41步:CMD/usr/lib/systemd/systemd-->9454f885701d中运行---->0cee7a3ced47删除中间容器9454f885701d它并没有删除Ocee7a3ced47,它相当大(~1GB),并且每个构建中都有几个这样的容器。是否可以删除这些内容,或者它们是父映像所必需的?很抱歉,格式问题我无法确定
0cee7a3ced47
是否为父映像。您是否尝试过其他方法来减小图像大小,例如使用较小的基本图像、将多个
运行
&
链接、为
环境使用多个变量、
公开
等。Dockerfile中的每个指令都会向容器图像添加一个层。但是如果这是一个额外的构建步骤,那么,如果生成失败,图像不会被保留吗?
docker rmi ACCOUNT/IMAGE:${BUIL_NUMBER}