SuperAPI AI 工具集

setup-container-registry

设计与创作

查看项目

更新于 10-16 03:42

技能介绍

用途:为组织配置生产可用的容器镜像仓库,支持访问控制、安全扫描和 CI/CD 集成。适用场景包括搭建私有仓库、从 Docker Hub 迁移、在流水线中扫描镜像漏洞、管理多架构镜像、强制镜像签名与来源校验,以及配置自动清理与保留策略。

主要能力:

  1. GitHub Container Registry:用经典 PAT(需 write:packages、read:packages、delete:packages 权限)登录并推送镜像,示例命令 echo $GITHUB_TOKEN | docker login ghcr.io -u USERNAME --password-stdin;用 GitHub Actions 配合 docker/build-push-action@v5、docker/metadata-action@v5 构建多架构镜像并自动打标签,注意包默认私有需手动改可见性。
  2. Docker Hub:创建访问令牌后登录推送,启用漏洞扫描与多架构构建(需 QEMU),可通过 webhook 触发外部流程;免费账户有拉取速率限制,自动化构建为旧功能。
  3. Harbor 自建:通过 Helm(helm repo add harbor https://helm.gopharbor.io)部署到 Kubernetes,配置 Ingress/TLS、持久化存储、Trivy 扫描与 Notary 签名,用 Robot Account 做 CI/CD 认证,通过 API 创建项目并开启 auto_scan。
  4. 标签与保留:采用语义化版本、提交 SHA、环境标签,结合不可变标签与保留策略自动清理未打标签镜像和旧版本。
  5. Kubernetes 拉取:使用 kubectl create secret docker-registry ghcr-secret 创建拉取密钥并挂到 ServiceAccount。
  6. 安全扫描与签名:使用 Trivy 扫描镜像并按严重级别处理,Cosign 签名并验证来源,可在集群中用策略拦截未签名镜像。

使用限制与注意事项:需本地安装 Docker 或 Podman,并准备仓库凭据;自托管 Harbor 需 Kubernetes 基础设施,签名与扫描工具为可选依赖。常见坑包括默认可见性差异、令牌过期、未打标签镜像堆积、缺少多架构支持、免费账户速率限制、可变 latest 标签破坏可复现性、自建仓库未用 HTTPS、以及凭据共用缺乏 RBAC 等。