删除包括其卷在内的所有容器
docker rm -vf $(docker ps -aq)
删除所有镜像
docker rmi -f $(docker images -aq)
请先删除所有容器,再删除创建这些容器的所有镜像。
如果在 Windows (Powershell) 上操作
$images = docker images -a -q
foreach ($image in $images) { docker image rm $image -f }
也可以按如下写法:
docker images -a -q | % { docker image rm $_ -f }
对于使用命令行的 Windows,
for /F %i in ('docker images -a -q') do docker rmi -f %i
删除所有停止的容器、悬空的图像和未使用的网络
docker system prune
使用-f
( --force
) 选项绕过提示。
如果要删除所有未使用的镜像而不仅仅是玄虚镜像,请在命令中添加-a
参数(--all
)
docker system prune -a
默认情况下,该命令不会删除未使用的卷以防止丢失重要数据。
要删除所有未使用的卷,使用--volumes
参数:
docker system prune --volumes
要删除一个或多个 Docker 容器,使用docker container rm
命令,后面跟要删除的容器的 ID。
docker container rm xxxxxx xxxxxx
查看所有容器列表
docker container ls -a
删除所有停止的容器
docker container prune
列出所有停止容器的列表
docker container ls -a --filter status=exited --filter status=created
例如,要删除 12 小时前创建的所有图像:
docker container prune --filter "until=12h"
停止所有正在运行的容器
docker container stop $(docker container ls -aq)
停止所有容器后,删除所有容器
docker container rm $(docker container ls -aq)
下载Docker镜像后,会一直保留在服务器上,需要手动删除
要删除一个或多个 Docker 镜像,首先需要找到镜像的 ID:
docker image ls
删除镜像
docker image rm xxxxxx xxxxxx
Error response from daemon: conflict: unable to remove repository reference “centos” (must force) - container cd20b396a061 is using its referenced image 75835a67d134
需要先删除使用此镜像的容器
玄虚镜像是未标记且未被任何容器使用的镜像。
docker image prune
运行此命令时要小心。如果你构建的图像没有标签,它将被删除。
要删除任何现有容器未引用的所有图像
docker image prune -a
例如,要删除超过 7 天(168 小时)前创建的所有图像
docker image prune -a --filter "until=168h"
删除一个或多个 Docker 卷,列出所有卷
docker volume ls
根据卷ID删除
docker volume rm xxxxx
删除所有未使用的卷
docker volume prune -f
查找要删除的网络ID
docker network ls
根据ID删除网络
docker network rm c520032c3d31
删除所有未使用的网络
docker network prune