SuperAPI AI 工具集

registry

设计与创作

查看项目

更新于 10-16 05:06

技能介绍

用途:为 Kamal 部署配置推送与拉取应用镜像的容器仓库,并在服务器上完成仓库登录登出。默认仓库为 Docker Hub,也可指向 AWS ECR、GCP Artifact Registry、本地仓库或其他 Docker 兼容仓库。

主要能力:registry 块包含 server(仓库主机,省略即 Docker Hub)、username(认证账号)、password(密码或令牌,通常以密钥引用形式给出)。密码通过名称引用密钥,例如 KAMAL_REGISTRY_PASSWORD,Kamal 从本地环境(由 .kamal/secrets 加载)查找,避免把凭据写入 config/deploy.yml。本地仓库(server 以 localhost 开头)是例外,只需 server。

使用方式:先查看 config/deploy.yml 是否已有 registry 块,以及 .kamal/secrets 中的 KAMAL_REGISTRY_PASSWORD。选择仓库后把密码存入 .kamal/secrets,再添加对应 registry 配置。Docker Hub 只设 username 与 password;AWS ECR 的 server 为 <aws-account-id>.dkr.ecr.<region>.amazonaws.com,username 为 AWS,password 用 ERB 调用 aws ecr get-login-password(需本地安装 AWS CLI,令牌仅 12 小时有效);GCP Artifact Registry 的 server 为 <region>-docker.pkg.dev,username 为 _json_key_base64,password 为 base64 编码的服务账号 JSON 密钥;本地仓库写 server: localhost:5555;其他仓库设置 server 并提供 username/password。用 kamal registry login 验证配置,kamal registry logout 登出。正常部署时 kamal deploy 会先自动登录,一般无需手动执行。

适用场景:需要把应用镜像推送到私有或云端仓库的 Kamal 部署。

限制:Docker Hub 默认创建公开仓库,需先建私有仓库或修改默认隐私设置;ECR 令牌会过期;资料未提供其他收费、平台或效果信息。