当前位置: 首页 > news >正文

如何从极狐GitLab 容器镜像库中删除容器镜像?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有:

  • 极狐GitLab 中文文档
  • 极狐GitLab 中文论坛
  • 极狐GitLab 官网

从容器镜像库中删除容器镜像 (BASIC ALL)


您可以从您的容器镜像库中删除容器镜像。

要基于特定标准自动删除容器镜像,请使用垃圾收集。另外,您可以使用第三方工具来为特定项目或群组创建 CI/CD 作业来删除特定的容器镜像。

要从项目或群组中删除特定的容器镜像,您可以使用极狐GitLab UI或极狐GitLab API。

WARNING:删除容器镜像是一种破坏性操作,无法撤消。要恢复已删除的容器镜像,您必须重建并重新上传。

垃圾收集


删除私有化部署实例上的容器镜像不会释放存储空间,只会将镜像标记为可以删除。要实际删除未引用的容器镜像并恢复存储空间,管理员必须运行垃圾收集。

在 JiHuLab.com 上,最新版本的容器镜像库包含自动在线垃圾收集器。

在这个新版本的容器镜像库中,以下内容在不被引用超过 24 小时后将会被自动计划删除:

  • 任何镜像清单均未引用的镜像层。
  • 没有标签且不被其他清单引用的镜像清单(如多架构镜像)。

在线垃圾收集器是实例范围的功能,适用于所有命名空间。

使用极狐GitLab UI


使用极狐GitLab UI 删除容器镜像:

1.在左侧边栏中,选择 搜索或转到,然后:

  • 对于项目,选择您的项目。
  • 对于群组,选择您的群组。

2.在左侧边栏中,选择 部署 > 容器镜像库

3.在 容器镜像库 页面中,您可以通过以下任一方式选择要删除的内容:

  • 通过选择红色的 {remove} 图标删除整个镜像及其包含的所有标签。
  • 进入镜像页面,并通过选择要删除的标签旁边的红色 {remove} 图标,单独或批量删除标签。

4.在对话框中,选择 删除标签

使用 API


您可以使用 API 自动执行删除容器镜像的过程。有关详细信息,请参阅以下端点:

  • 删除镜像
  • 删除镜像标签
  • 批量删除镜像标签

使用极狐GitLab CI/CD


NOTE:极狐GitLab CI/CD 不提供删除容器镜像的内置方法。此示例使用名为 reg 的第三方工具与容器镜像库 API 通信。有关此第三方工具的帮助,请参阅 reg 的议题队列。

以下示例定义了两个阶段:build 和 cleanbuild_image 作业为分支构建容器镜像,而 delete_image 作业删除它。reg 可执行文件被下载,并用于删除与 $CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG 预定义的 CI/CD 变量 匹配的容器镜像。
要使用此示例,请更改 IMAGE_TAG 变量来满足您的需要。

stages:- build- cleanbuild_image:image: docker:20.10.16stage: buildservices:- docker:20.10.16-dindvariables:IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUGscript:- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY- docker build -t $IMAGE_TAG .- docker push $IMAGE_TAGonly:- branchesexcept:- maindelete_image:before_script:- curl --fail --show-error --location "https://github.com/genuinetools/reg/releases/download/v$REG_VERSION/reg-linux-amd64" --output ./reg- echo "$REG_SHA256  ./reg" | sha256sum -c -- chmod a+x ./regimage: curlimages/curl:7.86.0script:- ./reg rm -d --auth-url $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $IMAGE_TAGstage: cleanvariables:IMAGE_TAG: $CI_PROJECT_PATH:$CI_COMMIT_REF_SLUGREG_SHA256: ade837fc5224acd8c34732bf54a94f579b47851cc6a7fd5899a98386b782e228REG_VERSION: 0.16.1only:- branchesexcept:- main

NOTE:您可以从 发布页面 下载最新的 reg 版本,然后通过更改 delete_image 作业中定义的 REG_SHA256REG_VERSION 变量来更新代码示例。

使用清理策略


您可以为每个项目创建一个清理策略,确保定期从容器镜像库中删除旧标签和镜像。

http://www.xdnf.cn/news/351595.html

相关文章:

  • 解决osx-arm64平台上conda默认源没有提供 python=3.7 的官方编译版本的问题
  • android-ndk开发(11): 安装 repo 命令
  • MySQL + Elasticsearch:为什么要使用ES,使用场景与架构设计详解
  • NAT穿越
  • 力扣-24.两两交换链表中的结点
  • SpringBoot默认并发处理(Tomcat)、项目限流详解
  • 【列表类型】
  • Spring Boot + MyBatis-Plus 高并发读写分离实战
  • 人工智能 机器学习期末考试题
  • Android RxJava框架分析:它的执行流程是如何的?它的线程是如何切换的?如何自定义RxJava操作符?
  • 内存安全革命:工具、AI 与政策驱动的 C 语言转型之路
  • 安全核查基线-3.用户umask设置策略
  • 数字IC前端学习笔记:锁存器的综合
  • Vue3 + Element Plus 动态表单实现
  • 对PyTorch模块进行性能分析
  • 一种海杂波背景下前视海面目标角超分辨成像方法——论文阅读
  • 【Python 元组】
  • Docker容器启动失败?无法启动?
  • 一些模型测试中的BUG和可能解决方法
  • linux系统管理
  • Java+Selenium+快代理实现高效爬虫
  • 通用外设驱动模型(四步法)
  • 探索大型语言模型的 LLM 安全风险和 OWASP 十大漏洞
  • (x ^ 2 + 2y − 1) ^ 3 − x ^ 2 * y ^ 3 = 1
  • React Native 前瞻式重大更新 Skia WebGPU ThreeJS,未来可期
  • AI客服问答自动生成文章(基于deepseek实现)
  • JAVA简单例题+抽象+继承
  • openssl中BIO的使用
  • PostgreSQL创建只读账号
  • 数据中台建设系列(五):SQL2API驱动的数据共享与服务化实践