内容纲要
概要描述
本文适用于如下两种场景:
1.删除不想使用的镜像
2.由于TDH升级,仓库中保留了历史镜像,占用较多磁盘空间
删除镜像需谨慎操作,注意TAG标签,切勿删除TDH生产中使用的docker镜像文件
详细说明
1.首先需要确定registry所在节点,下面所有操作均在registry节点上执行
a.通过manager页面,查看TOS角色确定registry所在节点
b.任意节点执行docker images命令,可以查看到registry所在节点
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
查看成果
1.已经无法再拉取删除的镜像
#例如删除了的tdh524-01:5000/transwarp/hbase:transwarp-5.2.2-final镜像
docker pull tdh524-01:5000/transwarp/hbase:transwarp-5.2.2-final
2.仓库本地路径已经清理了部分空间
#查看本地仓库路径的大小变化
du -sm /var/lib/registry_data/docker/registry/v2