清理Docker镜像仓库是维护系统健康和释放磁盘空间的重要操作。以下是几种有效的清理方法:
# 删除所有未被使用的镜像
docker image prune -a
# 删除所有停止的容器
docker container prune
# 删除所有未被使用的网络
docker network prune
# 删除所有未被使用的卷
docker volume prune
# 一次性清理所有未使用的对象(镜像、容器、网络、卷)
docker system prune -a
docker rmi <repository>:<tag>
docker rmi <image-id>
docker image prune
# 查看镜像占用空间
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
# 安装
pip install docker-clean
# 使用
docker-clean
# 下载并运行
curl https://raw.githubusercontent.com/spotify/docker-gc/master/docker-gc > docker-gc
chmod +x docker-gc
./docker-gc
对于私有仓库(如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}"
通过以上方法,您可以有效管理Docker镜像仓库,释放宝贵的磁盘空间。