插件窝 干货文章 docker镜像仓库怎么清理

docker镜像仓库怎么清理

Docker 镜像 清理 使用 91    来源:    2025-04-06

Docker镜像仓库清理指南

清理Docker镜像仓库是维护系统健康和释放磁盘空间的重要操作。以下是几种有效的清理方法:

1. 基本清理命令

# 删除所有未被使用的镜像
docker image prune -a

# 删除所有停止的容器
docker container prune

# 删除所有未被使用的网络
docker network prune

# 删除所有未被使用的卷
docker volume prune

# 一次性清理所有未使用的对象(镜像、容器、网络、卷)
docker system prune -a

2. 针对性清理

按标签清理特定镜像

docker rmi <repository>:<tag>

按镜像ID清理

docker rmi <image-id>

清理悬空镜像(无标签镜像)

docker image prune

3. 清理特定仓库的旧镜像

# 查看镜像占用空间
docker images --format "{{.Repository}}:{{.Tag}}\t{{.Size}}"

# 按创建时间排序并删除旧镜像
docker images --format "{{.ID}}\t{{.CreatedAt}}" | sort -k 2 -r | tail -n +4 | awk '{print $1}' | xargs docker rmi

4. 使用第三方工具

docker-clean工具

# 安装
pip install docker-clean

# 使用
docker-clean

docker-gc工具

# 下载并运行
curl https://raw.githubusercontent.com/spotify/docker-gc/master/docker-gc > docker-gc
chmod +x docker-gc
./docker-gc

5. 私有仓库清理

对于私有仓库(如Harbor),可以使用API或界面操作:

# 使用Harbor API清理(示例)
curl -X DELETE -u "admin:Harbor12345" "https://harbor.example.com/api/v2.0/projects/{project_name}/repositories/{repo_name}/artifacts/{tag}"

注意事项

  1. 清理前确认镜像不再需要
  2. 生产环境建议先备份重要镜像
  3. 定期执行清理(可设置cron job)
  4. 注意保留基础镜像和常用镜像

通过以上方法,您可以有效管理Docker镜像仓库,释放宝贵的磁盘空间。