如何删除docker镜像仓库(Repository)中的镜像文件

  使用配置, 其他常见问题
内容纲要

概要描述


本文适用于如下两种场景:
1.删除不想使用的镜像
2.由于TDH升级,仓库中保留了历史镜像,占用较多磁盘空间

删除镜像需谨慎操作,注意TAG标签,切勿删除TDH生产中使用的docker镜像文件

详细说明


1.首先需要确定registry所在节点,下面所有操作均在registry节点上执行
a.通过manager页面,查看TOS角色确定registry所在节点
file
b.任意节点执行docker images命令,可以查看到registry所在节点
file

2.docker未直接提供删除命令,所以需要先准备开源工具,如果服务器无法联外网,可以在其他环境下载好后,将二进制文件复制到内网服务器/usr/local/bin/目录下,并注意设置执行权限

#下载工具文件
curl https://raw.githubusercontent.com/burnettk/delete-docker-registry-image/master/delete_docker_registry_image.py | sudo tee /usr/local/bin/delete_docker_registry_image >/dev/null
#赋予执行权限
sudo chmod a+x /usr/local/bin/delete_docker_registry_image 

3.设置仓库本地路径的环境变量

#5.x版本TDH产品的仓库仓库本地路径
export REGISTRY_DATA_DIR=/var/lib/registry_data/docker/registry/v2

4.删除镜像

delete_docker_registry_image --image  {镜像相对路径 }:{tag}
#例如想要删除的是镜像是tdh524-01:5000/transwarp/hbase:transwarp-5.2.2-final
#删除的命令为delete_docker_registry_image --image  transwarp/hbase:transwarp-5.2.2-final

file

file

查看成果


1.已经无法再拉取删除的镜像

#例如删除了的tdh524-01:5000/transwarp/hbase:transwarp-5.2.2-final镜像
docker pull tdh524-01:5000/transwarp/hbase:transwarp-5.2.2-final

file

2.仓库本地路径已经清理了部分空间

#查看本地仓库路径的大小变化
du -sm  /var/lib/registry_data/docker/registry/v2

file

这篇文章对您有帮助吗?

平均评分 5 / 5. 次数: 3

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。