如何在Jenkins Job中删除docker镜像

时间:2017-07-27 21:02:54

标签: shell docker

我想从Jenkins中删除一些Docker操作的遗骸。

但不知何故,以下行不起作用......

这个问题似乎与括号有关。

有什么建议吗?

(gdb) x/1xw $rsp

4 个答案:

答案 0 :(得分:2)

docker image prune删除所有悬空图像。 Docker图像剪辑-a也删除未使用的图像。这个thread解释了悬空和未使用的图像是什么。 简而言之:悬空图像 - >没有标签,未使用的图像 - >没有附加容器。

答案 1 :(得分:2)

较新版本的Docker现在具有system prune命令。

删除悬空图像:

$ docker system prune

删除悬空和未使用的图像:

$ docker system prune --all

修剪卷:

$ docker system prune --volumes

修剪宇宙:

$ docker system prune --force --all --volumes

答案 2 :(得分:1)

我会存储docker images命令的输出,然后使用它:

images=$(docker images -f dangling=true -q); if [[ ${images} ]]; then docker rmi --force ${images}; fi

答案 3 :(得分:0)

删除悬空图像

使用-xargs将需要--no-run-if-empty(-r)来绕过不带参数执行docker rmi

docker images --quiet --filter=dangling=true | xargs --no-run-if-empty docker rmi

使用normar bash comand检查并删除

 if docker images -f "dangling=true" | grep ago --quiet; then
    docker rmi -f $(docker images -f "dangling=true" -q)
 fi