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