如何列出所有Docker本地仓库并删除仓库及相关镜像?
如何管理Docker本地仓库及相关镜像
一、列出所有Docker本地仓库
Docker没有直接列出"本地仓库"的专属命令,可通过两种方式识别:
- 查看所有与registry相关的容器(含已停止状态):
docker ps -a | grep registry - 筛选本地镜像中标记为本地仓库地址的镜像(通常前缀为
localhost:端口号/):docker images | grep localhost:5000
二、删除所有本地仓库及关联镜像
1. 停止并删除所有registry容器
# 停止所有运行中的registry容器 docker stop $(docker ps -q --filter "name=registry") # 删除所有registry容器(含已停止的) docker rm $(docker ps -aq --filter "name=registry")
若有自定义名称的registry容器,将name=registry替换为对应容器名或筛选条件即可。
2. 删除所有关联的本地镜像
批量删除标记为本地仓库前缀的镜像:
docker rmi $(docker images -q localhost:5000/*)
若有其他本地仓库地址,替换对应的前缀即可。
三、删除你创建的特定本地仓库及其中的镜像
针对你用docker run -d -p 5000:5000 --restart=always --name registry registry:2创建的registry,按以下步骤操作:
1. 停止并删除目标registry容器
# 停止容器 docker stop registry # 删除容器 docker rm registry
2. 删除推送到该仓库的本地镜像
批量删除带localhost:5000/前缀的镜像:
docker rmi $(docker images -q localhost:5000/*)
如需删除单个镜像,直接指定镜像名或ID:
docker rmi localhost:5000/my-app:v1
3. 清理registry数据(可选)
如果运行容器时挂载了本地数据卷(比如添加了-v /my/registry/data:/var/lib/registry参数),需手动删除挂载目录:
rm -rf /my/registry/data
替换为你实际使用的挂载路径即可。
内容的提问来源于stack exchange,提问作者Clonimus74
相关产品推荐
相关产品推荐

