docker批量删除容器或镜像
删除容器
停止所有容器
删除所有容器,需要先停止所有运行中的容器
docker stop `docker ps -a -q`
docker ps -a -q
,意思是列出所有容器(包括未运行的),只显示容器编号,其中
- -a : 显示所有的容器,包括未运行的。
- -q : 静默模式,只显示容器编号。
1. 删除所有处于停止状态的容器
使用以下命令删除所有处于停止状态的容器:
docker container prune
该命令将删除所有未运行的容器,释放它们占用的资源。
或者使用这条命令,删除所有容器
docker rm `docker ps -a -q`
2. 删除特定状态的容器
使用以下命令删除处于特定状态的容器:
docker container rm $(docker container ls -aqf status=exited)
该命令将删除所有已停止的容器。你还可以使用其他状态值,例如created
、restarting
或dead
。
3. 删除所有容器
如果你想删除所有容器,包括正在运行的容器,可以使用以下命令:
docker container rm -f $(docker container ls -aq)
该命令将强制删除所有容器,包括正在运行的容器。
删除镜像
1. 删除所有未被使用的镜像
使用以下命令删除所有未被使用的镜像:
docker image prune
该命令将删除所有未被使用的镜像,包括没有被任何容器引用的镜像。
2. 删除特定镜像
使用以下命令删除特定的镜像:
docker image rm <image_name>:<tag>
将<image_name>替换为要删除的镜像名称,将
3. 删除所有镜像
如果你想删除所有镜像,可以使用以下命令:
docker image rm $(docker image ls -aq)
该命令将删除所有镜像,包括被使用的镜像。请注意,如果某个镜像正在被使用,则无法删除该镜像。
4.按条件删除镜像
删除无标签镜像(即 TAG 为 none 的镜像 dangling image,悬浮镜像)
docker rmi `docker images | awk '/^<none>/ { print $3 }'`
也可以使用如下命令删除
docker rmi $(docker images -q -f dangling=true)
删除包含某关键字的镜像
docker rmi --force `docker images | grep test-api | awk '{print $3}'` //其中test-api为关键字