杀死所有正在运行的容器
docker kill $(docker ps -a -q)
删除所有已经停止的容器
docker rm $(docker ps -a -q)
删除所有未打 dangling 标签的镜像
docker rmi $(docker images -q -f dangling=true)
通过镜像的id来删除指定镜像
docker rmi <image id>
删除所有镜像
docker rmi $(docker images -q)
为这些命令创建别名
# ~/.bash_aliases
# 杀死所有正在运行的容器.
alias dockerkill='docker kill $(docker ps -a -q)'
# 删除所有已经停止的容器.
alias dockercleanc='docker rm $(docker ps -a -q)'
# 删除所有未打标签的镜像.
alias dockercleani='docker rmi $(docker images -q -f dangling=true)'
# 删除所有已经停止的容器和未打标签的镜像.
alias dockerclean='dockercleanc || true && dockercleani'
- dangling镜像通过命令 docker image prune -f 清理。
- 通过命令 docker images | awk 'NR!=1{print $1":"$2}' | xargs docker rmi 可以批量清除无用的镜像,且不会影响使用中的镜像和基础镜像
# 方案1: 根据镜像id删除镜像
docker images| grep none |awk '{print $3 }'|xargs docker rmi
# 方案2: 根据镜像名删除镜像
docker images | grep wecloud | awk '{print $1":"$2}' | xargs docker rmi
docker prune 命令 谨慎使用!
prune 命令用来删除不再使用的 docker 对象。
删除所有未被 tag 标记和未被容器使用的镜像:
$ docker image prune
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] y
删除所有未被容器使用的镜像:
$ docker image prune -a
删除所有停止运行的容器:
$ docker container prune
删除所有未被挂载的卷:
$ docker volume prune
删除所有网络:
$ docker network prune
删除 docker 所有资源:
$ docker system prune