简单粗暴的清除DockerRegistry的镜像来释放磁盘空间

通过自建docker Registry服务来满足自用的docker镜像服务,但是碍于存储空间限制(10G),需要定期清理镜像来释放磁盘空间。

我使用的是 dqzboy/registrydqzboy/docker-registry-ui 的组合。对应的容器名称分别为 reg-docker-hubregistry-ui

1. 检查 Registry 数据目录地址

为了确保操作的准确性,我们需要首先确认 Docker Registry 的数据存储路径。

docker inspect reg-docker-hub | grep Source

运行上述命令后,你会得到以下两个重要的路径信息:

Docker Registry 配置文件地址

"Source": "/data/registry-proxy/registry-hub.yml"

Docker Registry 数据真实存放路径

"Source": "/data/registry-proxy/registry/data"

这两个路径信息对于后续操作非常重要,尤其是数据目录的路径 /data/registry-proxy/registry/data,它包含了所有的镜像、仓库和相关元数据。


2. 停止容器

在执行任何删除操作之前,请确保先停止相关的 Docker 容器以避免数据损坏。运行以下命令停止 reg-docker-hubregistry-ui

docker stop reg-docker-hub registry-ui

3. 删除 Registry 的数据目录

接下来,我们需要删除 Docker Registry 中的所有镜像、仓库、layers 和 manifests 数据。这些数据存储在之前查到的真实路径中:

rm -rf /data/registry-proxy/registry/data/*

如果你不确定路径是否正确,可以先执行 ls /data/registry-proxy/registry/data 查看目录内容。


4. 重启容器

完成数据删除后,重新启动 Docker 容器:

docker start reg-docker-hub registry-ui

总结

通过以上步骤,Docker Registry 已经被完全清空。此时你可以再次检查磁盘空间使用情况,确认数据已被成功释放:

du -sh /data/registry-proxy/registry/data

经过这些操作后,Registry 将会以一个全新的状态重新初始化。你可以像新的一样开始使用 Docker Registry 服务了。

我使用的是 dqzboy/registrydqzboy/docker-registry-ui 的组合。对应的容器名称分别为 reg-docker-hubregistry-ui

1. 检查 Registry 数据目录地址

为了确保操作的准确性,我们需要首先确认 Docker Registry 的数据存储路径。

docker inspect reg-docker-hub | grep Source

运行上述命令后,你会得到以下两个重要的路径信息:

Docker Registry 配置文件地址

"Source": "/data/registry-proxy/registry-hub.yml"

Docker Registry 数据真实存放路径

"Source": "/data/registry-proxy/registry/data"

这两个路径信息对于后续操作非常重要,尤其是数据目录的路径 /data/registry-proxy/registry/data,它包含了所有的镜像、仓库和相关元数据。


2. 停止容器

在执行任何删除操作之前,请确保先停止相关的 Docker 容器以避免数据损坏。运行以下命令停止 reg-docker-hubregistry-ui

docker stop reg-docker-hub registry-ui

3. 删除 Registry 的数据目录

接下来,我们需要删除 Docker Registry 中的所有镜像、仓库、layers 和 manifests 数据。这些数据存储在之前查到的真实路径中:

rm -rf /data/registry-proxy/registry/data/*

如果你不确定路径是否正确,可以先执行 ls /data/registry-proxy/registry/data 查看目录内容。


4. 重启容器

完成数据删除后,重新启动 Docker 容器:

docker start reg-docker-hub registry-ui

总结

通过以上步骤,Docker Registry 已经被完全清空。此时你可以再次检查磁盘空间使用情况,确认数据已被成功释放:

du -sh /data/registry-proxy/registry/data

经过这些操作后,Registry 将会以一个全新的状态重新初始化。你可以像新的一样开始使用 Docker Registry 服务了。

加载中...