我们在build镜像的过程中,可能会产生一些临时的不具有名称也没有作用的镜像他们的名称一般都是 <none>
,我们可以执行下面的命令将其清除掉:
docker rmi $(docker images -f "dangling=true" -q)
# 先查看停掉的docker
docker ps -a|grep Exited
# 然后停了才可以删除
docker rm $(docker ps -a|grep Exited |awk '{print $1}')
# 清理无用镜像文件
docker rmi $(docker images -f "dangling=true" -q)
同一ID悬空镜像有多个名字的删除
10.254.39.1:5443/grg/yupay-vip <none> a1a6c167e431 4 days ago 138MB
10.254.39.1:5443/grg-prod/yupay-coupon <none> cf6d0ab53456 4 days ago 155MB
10.254.39.1:5443/grg/yupay-coupon <none> cf6d0ab53456 4 days ago 155MB
10.254.39.1:5443/grg-prod/aggr-pay-payment <none> 3621d89dc0da 4 days ago 426MB
10.254.39.1:5443/grg/aggr-pay-payment <none> 3621d89dc0da 4 days ago 426MB
10.254.39.1:5443/grg/yupay-card-union <none> 67c2a20bf2d4 7 days ago 201MB
10.254.39.1:5443/grg-prod/yupay-vip <none> facef9e92e0d 7 days ago 138MB
10.254.39.1:5443/grg/yupay-vip <none> facef9e92e0d 7 days ago 138MB
10.254.39.1:5443/grg-prod/yupay-coupon <none> 8e7d32a854ec 7 days ago 155MB
10.254.39.1:5443/grg/yupay-coupon <none> 8e7d32a854ec 7 days ago 155MB
这时直接用 id 删除不了
$docker rmi facef9e92e0d
Error response from daemon: conflict: unable to delete facef9e92e0d (must be forced) - image is referenced in multiple repositories
必须先让2个先有完整名字,再来删除
$docker images|grep none|awk '{print "docker tag "$3 " " $1 ":" $3 " && docker rmi " $1 ":" $3 }' > docker-rm.sh
$cat docker-cm.sh
docker tag 88a59a1aefb8 10.254.39.1:5443/grg-prod/yupay-card-union:88a59a1aefb8 && docker rmi 10.254.39.1:5443/grg-prod/yupay-card-union:88a59a1aefb8
docker tag 88a59a1aefb8 10.254.39.1:5443/grg/yupay-card-union:88a59a1aefb8 && docker rmi 10.254.39.1:5443/grg/yupay-card-union:88a59a1aefb8
docker tag 398f008f41c3 10.254.39.1:5443/grg/yupay-vip:398f008f41c3 && docker rmi 10.254.39.1:5443/grg/yupay-vip:398f008f41c3
docker tag 398f008f41c3 10.254.39.1:5443/grg-prod/yupay-vip:398f008f41c3 && docker rmi 10.254.39.1:5443/grg-prod/yupay-vip:398f008f41c3
docker tag c3bed5f1baed 10.254.39.1:5443/grg-prod/yupay-coupon:c3bed5f1baed && docker rmi 10.254.39.1:5443/grg-prod/yupay-coupon:c3bed5f1baed
docker tag c3bed5f1baed 10.254.39.1:5443/grg/yupay-coupon:c3bed5f1baed && docker rmi 10.254.39.1:5443/grg/yupay-coupon:c3bed5f1baed
docker tag c507ed72aece 10.254.39.1:5443/grg-prod/aggr-pay-payment:c507ed72aece && docker rmi 10.254.39.1:5443/grg-prod/aggr-pay-payment:c507ed72aece
另外用于删除的脚本
docker images| awk '{print "docker rmi " $1 ":" $3 }' > docker-rm.sh
清理多个项目的镜像
docker images|grep -E "jeepay|aggr-pay|card-union-ui|ds-server"
docker images|grep -E "jeepay|aggr-pay|card-union-ui|ds-server"| grep none |awk '{print $3 " " $1 ":" $3}'|xargs -l docker tag
docker images|grep -E "jeepay|aggr-pay|card-union-ui|ds-server"| awk '{print $1 ":" $2}'|xargs -l docker rmi
效果
┌─[yhen1@devops]─[~/src]
└──╼ $docker images|grep -E "yupay|jeepay|aggr-pay|card-union-ui|ds-server"
10.254.39.1:5443/grg-prod/card-union-ui 14895 03e1bf506390 6 days ago 36.2MB
10.254.39.1:5443/grg-prod/card-union-ui latest 03e1bf506390 6 days ago 36.2MB
10.254.39.1:5443/grg/card-union-ui 14895 03e1bf506390 6 days ago 36.2MB
10.254.39.1:5443/grg-prod/aggr-pay-payment dev_pressure_measurement f98c07ef7c14 7 days ago 426MB
10.254.39.1:5443/grg-prod/aggr-pay-payment latest f98c07ef7c14 7 days ago 426MB
10.254.39.1:5443/grg/aggr-pay-payment dev_pressure_measurement f98c07ef7c14 7 days ago 426MB
10.254.39.1:5443/grg-prod/aggr-pay-payment <none> 9f0de73defd1 7 days ago 426MB
10.254.39.1:5443/grg/aggr-pay-payment <none> 9f0de73defd1 7 days ago 426MB
10.254.39.1:5443/grg-prod/aggr-pay-payment <none> 3120c5769be3 7 days ago 426MB
10.254.39.1:5443/grg/aggr-pay-payment <none> 3120c5769be3 7 days ago 426MB
10.254.39.1:5443/grg-prod/aggr-pay-payment <none> cacf69345eb5 8 days ago 426MB
10.254.39.1:5443/grg/aggr-pay-payment <none> cacf69345eb5 8 days ago 426MB
10.254.39.1:5443/grg-prod/aggr-pay-payment <none> 964b5270cb50 2 weeks ago 426MB
10.254.39.1:5443/grg/aggr-pay-payment <none> 964b5270cb50 2 weeks ago 426MB
10.254.39.1:5443/grg-prod/aggr-pay-payment <none> 1e3182f236bb 2 weeks ago 426MB
10.254.39.1:5443/grg/aggr-pay-payment <none> 1e3182f236bb 2 weeks ago 426MB
...
┌─[yhen1@devops]─[~/src]
└──╼ $docker images|grep -E "yupay|jeepay|aggr-pay|card-union-ui|ds-server"| grep none |awk '{print $3 " " $1 ":" $3}'|xargs -l docker tag
┌─[yhen1@devops]─[~/src]
└──╼ $docker images|grep -E "yupay|jeepay|aggr-pay|card-union-ui|ds-server"| awk '{print $1 ":" $2}'|xargs -l docker rmi
Untagged: 10.254.39.1:5443/grg-prod/card-union-ui:14895
Untagged: 10.254.39.1:5443/grg-prod/card-union-ui:latest
Untagged: 10.254.39.1:5443/grg-prod/card-union-ui@sha256:cf458c4689757259d69389d44aa8a8057ca0f81434dce5e41c89ebcc358a9926
Untagged: 10.254.39.1:5443/grg/card-union-ui:14895
Untagged: 10.254.39.1:5443/grg/card-union-ui@sha256:cf458c4689757259d69389d44aa8a8057ca0f81434dce5e41c89ebcc358a9926
Deleted: sha256:03e1bf506390803f81eef4bb685af31f44dd1ebcaad9bcd6ad273e724c0a288a
Deleted: sha256:6691f0a9a92e45557eaa76d90351f96e3b564f952f85708d5e51fd0d807713a1
Deleted: sha256:790641bcf26e1a2c80e9379d506be8eef4aa1714c293b62979ee9d74e81653a2
Deleted: sha256:c8136ba3f4dafedf63fb66db2e4c8679fa2d0b868a586627c460d39aa66668c8
...