近日,DigitalOcean 云平台宣布,容器注册表进行了一项重大升级:现在,单个团队可以创建和管理多个注册表。此功能面向专业版计划(Professional Plan)的客户,无需额外费用,每个团队最多可创建 10 个注册表,从而在 DigitalOcean 上提供了极大的镜像部署灵活性。

什么是多注册表?它为何重要?

此前,虽然一个 DigitalOcean 容器注册表(DOCR)账户可以创建多个团队,但每个团队仅限于一个容器注册表。

通过此次更新,专业版计划的客户现在可以在单个团队下创建最多 10 个注册表,每个注册表都包含其独立的一组仓库和配置。此架构专为管理不同环境(如开发、预发布、生产)或分布式团队的用户设计,允许进行分隔化的注册表管理。

多注册表的好处

  • 环境隔离​:隔离不同的部署阶段(例如开发环境与生产环境)。
  • 区域性能​:在特定区域(如 fra1 或 nyc3)配置注册表,使镜像与您的 Kubernetes 集群位于同一区域。这减少了拉取镜像时的延迟和数据传输成本。
  • 法规遵从性​:对于有严格数据驻留要求(如 GDPR)的用户,多注册表通过确保容器工件存储在特定的地理管辖范围内来增强合规性。
  • 为 DOCR 的未来增强做好准备​:这种多注册表基础为 DOCR 未来的高级功能(如注册表镜像和地理复制)铺平了道路。

如何在 DigitalOcean 上使用新的多注册表功能

1、通过控制面板

点击右上角的"创建注册表"按钮以添加更多注册表。

再创建一个注册表。

一个新的注册表已添加成功。

2、通过API

通过我们更新的 API 命名空间 v2/registries,可以简化多注册表的管理。请注意,为保持向后兼容性,旧的 v2/registry 端点仍然保留,但所有多注册表操作必须使用新的复数化端点。

创建注册表

要创建一个新注册表,发送一个指定唯一名称和目标区域的 POST 请求。

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
  -d '{"name": "example", "subscription_tier_slug": "basic", "region": "fra1"}' \
  "https://api.digitalocean.com/v2/registries"

注意:在专业版计划下,您最多可以创建 10 个注册表。

列出所有注册表

通过检索与您账户关联的所有注册表列表来审核您的基础架构。

curl -X GET \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
  "https://api.digitalocean.com/v2/registries"

获取注册表信息

获取特定注册表的配置详细信息,例如其端点和创建日期。

curl -X GET \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
  "https://api.digitalocean.com/v2/registries/example"

获取 Docker 凭证

为特定注册表生成限定范围的凭证。这对于配置隔离的 CI/CD 流水线至关重要(例如,允许运行器仅推送到预发布注册表)。

curl -X GET \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
  "https://api.digitalocean.com/v2/registries/example/docker-credentials"

启动垃圾回收

垃圾回收对于管理您专业版计划的共享存储池至关重要。为特定注册表显式触发垃圾回收以清除无标签的清单。

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
  "https://api.digitalocean.com/v2/registries/example/garbage-collection"

删除注册表

在多注册表设置中,您必须使用 v2/registries 端点来删除注册表。旧的端点无法区分要删除哪个注册表。

curl -X DELETE \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
  "https://api.digitalocean.com/v2/registries/example"

我们的命令行工具 doctl 和 Terraform 提供商现已包含对管理 DigitalOcean 容器注册表的支持。

3、通过CLI

与 API 更新同步,我们的命令行工具 doctl 现在新增了一个复数化的子命令:registries。此子命令是管理注册表的新规范,反映了新的 API 命名空间。请注意,旧的 registry 子命令将在未来的版本中弃用。

创建注册表

要创建新注册表,使用 create 命令并指定唯一名称、目标区域和订阅层级。

doctl \
  -t $DIGITALOCEAN_TOKEN \
  registries create cool-reg \
  --region=blr1 \
  --subscription-tier=professional

注意:选择专业版层级以创建和管理多个注册表。

列出所有注册表

通过检索与您账户关联的所有注册表列表来审核您的基础架构。

doctl \
  -t $DIGITALOCEAN_TOKEN \
  registries list

获取注册表信息

获取特定注册表的配置详细信息,例如其端点和区域标识。

doctl \
  -t $DIGITALOCEAN_TOKEN \
  registries get cool-reg

删除注册表

使用 delete 命令删除特定注册表。删除前会收到提示,如果您确认,请选择"yes"。

doctl \
  -t $DIGITALOCEAN_TOKEN \
  registries delete cool-reg

有关可用命令的更多信息,请阅读 doctl registries help

重要限制与注意事项

在采用此功能时,请注意以下操作限制:

  • 10 个注册表限制​:每个订阅专业版计划的团队最多可以创建 10 个注册表。
  • API命名空间​:针对多个注册表的操作必须使用 v2/registries 路径。单数的 v2/registry 路径将默认指向您的"主要"注册表,或者在上下文不明确时会失败。
  • 计划降级​:如果您希望从专业版计划降级到入门版或基础版,您必须先手动删除所有"次要"注册表,直到只剩一个为止。

多注册表支持现已正式面向 DigitalOcean 容器注册表专业版计划的所有用户开放。请访问容器注册表产品页面获取完整文档。我们期待看到您如何利用这种灵活性构建更安全、合规且高性能的交付流水线。

https://t.bilibili.com/1157268114647285768/
https://t.bilibili.com/1157268110313521186/
https://t.bilibili.com/1157268106051059719/
https://t.bilibili.com/1157268106048962564/
https://t.bilibili.com/1157268097435959299/
https://t.bilibili.com/1157268097417084951/
https://t.bilibili.com/1157268088862801939/
https://t.bilibili.com/1157268088827150345/
https://t.bilibili.com/1157268084566786051/
https://t.bilibili.com/1157268075947491332/
https://t.bilibili.com/1157268075945394178/
https://t.bilibili.com/1157268067397402632/
https://t.bilibili.com/1157268067403694081/
https://t.bilibili.com/1157268063106629639/
https://t.bilibili.com/1157268063077269507/
https://t.bilibili.com/1157268054512500745/
https://t.bilibili.com/1157268050186076167/
https://t.bilibili.com/1157268045872234514/
https://t.bilibili.com/1157268045897400345/
https://t.bilibili.com/1157268037287542803/
https://t.bilibili.com/1157268037324242950/
https://t.bilibili.com/1157268033034518536/
https://t.bilibili.com/1157268024399495175/
https://t.bilibili.com/1157268024452972553/
https://t.bilibili.com/1157268015823192101/
https://t.bilibili.com/1157268015848357896/
https://t.bilibili.com/1157268011537661952/
https://t.bilibili.com/1157268011574362118/
https://t.bilibili.com/1157268002982330370/
https://t.bilibili.com/1157268002984427521/
https://t.bilibili.com/1157267994373521433/
https://t.bilibili.com/1157267990067019785/
https://t.bilibili.com/1157267990039756808/
https://t.bilibili.com/1157267985799315463/
https://t.bilibili.com/1157267981487570953/
https://t.bilibili.com/1157267977154854919/
https://t.bilibili.com/1157267968568066071/
https://t.bilibili.com/1157267968619446280/
https://t.bilibili.com/1157267959985471493/
https://t.bilibili.com/1157267960033705986/
https://t.bilibili.com/1157267955690504210/
https://t.bilibili.com/1157267951400779784/
https://t.bilibili.com/1157267947103715360/
https://t.bilibili.com/1157267942809796614/
https://t.bilibili.com/1157267938528460840/
https://t.bilibili.com/1157267934259707910/
https://t.bilibili.com/1157267934216716290/
https://t.bilibili.com/1157267929913360386/
https://t.bilibili.com/1157267925615247381/
https://t.bilibili.com/1157267921364320257/
https://t.bilibili.com/1157267921334960128/
https://t.bilibili.com/1157267912752365577/
https://t.bilibili.com/1157267912777531400/
https://t.bilibili.com/1157267908452155392/
https://t.bilibili.com/1157267904156139524/
https://t.bilibili.com/1157267899867463683/
https://t.bilibili.com/1157267895590322197/
https://t.bilibili.com/1157267891278577688/
https://t.bilibili.com/1157267887005630472/
https://t.bilibili.com/1157267882665574420/
https://t.bilibili.com/1157267878392627201/
https://t.bilibili.com/1157267878386335752/
https://t.bilibili.com/1157267869819469830/
https://t.bilibili.com/1157267869833101337/
https://t.bilibili.com/1157267861191786518/
https://t.bilibili.com/1157267861245263874/
https://t.bilibili.com/1157267856949248009/
https://t.bilibili.com/1157267856911499270/
https://t.bilibili.com/1157267848324710402/
https://t.bilibili.com/1157267844051763209/
https://t.bilibili.com/1157267839772524549/
https://t.bilibili.com/1157267835461828614/
https://t.bilibili.com/1157267835429322759/
https://t.bilibili.com/1157267826845679618/
https://t.bilibili.com/1157267826889719810/
https://t.bilibili.com/1157267822552809473/
https://t.bilibili.com/1157267822574829570/
https://t.bilibili.com/1157267813978603521/
https://t.bilibili.com/1157267813994332166/
https://t.bilibili.com/1157267805397057552/
https://t.bilibili.com/1157267805366648839/

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐