本文主要介绍实例同步功能中,将外部仓库迁移到火山引擎镜像仓库标准版实例的操作。
镜像仓库 CR 支持一键迁移火山引擎以外的外部仓库至标准版实例,为您提供专业稳定的托管服务及技术支持,减少自行搭建及维护的运维管理成本,满足低复杂度交付业务需求。
注意
近期中国大陆地区出现无法访问 Docker Hub 的现象,导致无法直接通过实例同步规则将 Docker Hub 镜像迁移至中国地域镜像仓库中。
如果需要使用 Docker Hub 迁移功能,建议通过实例同步规则将 Docker Hub 中镜像迁移到柔佛地域,然后在中国地域拉取镜像。
实例同步类型
参数 | 说明 |
---|---|
同步类型 | 选择 外部迁移,将外部仓库迁移到火山引擎镜像仓库标准版实例中。 |
说明
其他同步类型使用场景说明如下:
基本信息
参数 | 说明 |
---|---|
名称 | 自定义同步规则名称。同一个账号下名称必须唯一。 |
描述 | 根据需要填写对该规则的描述信息。可以为空,字数限制 200 字符以内。 |
源/目标实例配置
外部仓库的来源,目前支持 腾讯云 TCR 企业版、阿里云 ACR、AWS ECR 私有 类型存储库、Harbor、 Docker、 Google Artifact Registry(GAR)。
说明
来源为 AWS ECR 时,仅支持同步 私有 类型存储库,不支持 公有 类型。
腾讯云-企业版
说明
仅支持迁移 腾讯云企业版 至火山引擎镜像仓库。
参数 | 说明 |
---|---|
服务地址 | 以 http(s):// 开头的外部源仓库服务地址。例如 https://test-sync.tencentcloudcr.com 。 |
Access Key ID | 填写在腾讯云控制台 访问管理 > API 密钥管理 中的 SecretId。 |
Secret Access Key | 填写在腾讯云控制台 访问管理 > API 密钥管理 中的 SecretKey。 |
仓库类型 | 仅支持 镜像 仓库类型下制品同步,Chart 仓库下制品不支持同步。 |
命名空间 | 腾讯云镜像仓库中需要同步的命名空间名称,单击回车键确定。 |
仓库 | 需要同步的外部源仓库命名空间下的 OCI 制品仓库。
|
版本 Tag | 需要同步的 OCI 制品版本。
|
参数 | 说明 |
---|---|
实例名称 | 选择镜像仓库中的目标标准版实例,外部仓库将同步到该标准版实例。 |
命名空间 | 选择标准版实例下的目标命名空间。 注意
|
阿里云
注意
参数 | 说明 |
---|---|
API 调用地址 | 以 http(s):// 开头的外部源仓库服务地址。例如 https://cr.cn-beijing.aliyuncs.com 。 |
实例 ID | 需要同步的阿里云镜像仓库实例的 ID。 |
Access Key ID | 访问阿里云 OpenAPI 的账号。 |
Secret Access Key | 访问阿里云 OpenAPI 的账号所对应的密钥。 |
仓库类型 | 仅支持 镜像 仓库类型下制品同步,Chart 仓库下制品不支持同步。 |
命名空间 | 阿里云镜像仓库中需要同步的命名空间名称,单击回车键确定。 |
仓库 | 需要同步的外部源仓库命名空间下的 OCI 制品仓库。
|
版本 Tag | 需要同步的 OCI 制品版本。
|
参数 | 说明 |
---|---|
实例名称 | 选择镜像仓库中的目标标准版实例,外部仓库将同步到该标准版实例。 |
命名空间 | 选择标准版实例下的目标命名空间。 注意
|
Harbor
参数 | 说明 |
---|---|
服务地址 | 以 http(s):// 开头的外部源仓库服务地址。例如 http://180.**.**.** 。 |
忽略证书有效性 | 是否忽略源仓库地址的证书有效性。
注意 外部源仓库证书必须为权威机构签发的证书,否则此处选择 否 后,会同步失败。 |
用户名 | 登录 Harbor 仓库的用户名。 |
密码 | 登录 Harbor 仓库的密码。 |
命名空间 | Harbor 仓库中需要同步的项目名称。 |
仓库 | 需要同步的外部源仓库命名空间下的 OCI 制品仓库。
|
版本 Tag | 需要同步的 OCI 制品版本。
|
参数 | 说明 |
---|---|
实例名称 | 选择镜像仓库中的目标标准版实例,外部仓库将同步到该标准版实例。 |
命名空间 | 选择标准版实例下的目标命名空间。 注意
|
AWS
参数 | 说明 |
---|---|
服务地址 | 以 http(s):// 开头的外部源仓库服务地址。例如 http(s)://index.dockrhub.io 。 |
忽略证书有效性 | 是否忽略源仓库地址的证书有效性。
注意 外部源仓库证书必须为权威机构签发的证书,否则此处选择 否 后,会同步失败。 |
Access Key ID | AWS 账号的 Access Key ID。 |
Secret Access Key | AWS 账号的 Secret Access Key。 |
仓库 | 需要同步的外部源仓库命名空间下的 OCI 制品仓库。
|
版本 Tag | 需要同步的 OCI 制品版本。
|
参数 | 说明 |
---|---|
实例名称 | 选择镜像仓库中的目标标准版实例,外部仓库将同步到该标准版实例。 |
命名空间 | 选择标准版实例下的目标命名空间。 |
Docker
注意
Docker Hub 的免费用户存在镜像拉取速率限制,超出限制可能导致同步失败。建议配置方法如下:
nginx
,版本 Tag 正则匹配 填写 ^v1.0.0$
。参数 | 说明 |
---|---|
访问地址 | 固定为 https://hub.docker.com 。 |
用户名 | 登录 Dockerhub 仓库的用户名。 注意 必须使用 Docker Hub 仓库的注册用户名登录,不支持使用邮箱地址登录。 |
密码 | 登录 Dockerhub 仓库的密码。 |
类型 | 支持同步公共仓库和个人仓库:
|
命名空间 | Docker 仓库中需要同步的命名空间名称。
|
仓库 | 需要同步的外部源仓库命名空间下的 OCI 制品仓库。
|
版本 Tag | 需要同步的 OCI 制品版本。 |
参数 | 说明 |
---|---|
实例名称 | 选择镜像仓库中的目标标准版实例,外部仓库将同步到该标准版实例。 |
命名空间 | 选择标准版实例下的目标命名空间。 注意
|
Google Cloud
注意
参数 | 说明 |
---|---|
服务地址 | 以 http(s):// 开头的外部源仓库服务地址。例如 https://southamerica-west1-docker.pkg.dev 。 |
用户名 | 自动获取,您无需填写。 |
访问密钥 | Google Cloud Platform(GCP)的访问密钥。在 GCP 服务账号页面 创建服务账号,并生成密钥。您需要至少获取 Artifact Registry 的 Reader 角色,并添加 resourcemanager.projects.get 权限。 |
仓库类型 | 固定为 镜像。 |
命名空间 | Google Artifact Registry(GAR)项目下的命名空间,对应 GAR 中的代码库 Repository 。 |
项目名称 | 填写 Google Cloud Platform(GCP)中项目名称(Project)。 |
仓库 | 需要同步的镜像。
|
版本 Tag | 需要同步的镜像版本。
|
参数 | 说明 |
---|---|
实例名称 | 选择镜像仓库中的目标标准版实例,外部仓库将同步到该标准版实例。 |
命名空间 | 选择标准版实例下的目标命名空间。 注意
|
同步规则
参数 | 说明 |
---|---|
镜像覆盖 | 勾选后启用。启用后表示若目标标准版实例中存在与外部仓库中的镜像同名的镜像,则外部仓库镜像会覆盖目标实例的已有同名镜像。 |
规则状态 | 勾选后启用该规则,并可选择设置以下触发条件:
|
支持如下两种触发方式:
说明
定时触发的同步规则,也可以手动触发。
在 镜像仓库控制台 左侧导航栏选择 实例同步。
在 实例同步 页面,找到目标规则,单击规则名称。
在规则详情页面,单击 同步日志 页签,查看对应规则的所有同步日志。
参数 | 说明 |
---|---|
任务 ID | 实例内唯一的同步任务 ID。 |
同步状态 | 任务完成状态,同步中、成功、失败。 说明
|
任务耗时 | 完成全部同步任务消耗的时间。 |
成功比例 | (成功的 tag 数÷总 tag 数)×100%。 |
同步仓库数 | 当前任务需要同步的OCI制品仓库数量。 |
触发时间 | 同步任务的触发时间。 |
单击任务 ID,可查看该同步任务的详情。展示本次同步任务源实例下的[namespace]/[repo]:tag
,目标实例下的[namespace]/[repo]:tag
,及同步状态。
同步状态为 成功 表明源实例的制品成功同步到目标实例;同步状态为 失败 表明源实例的制品未能同步到目标实例。
匹配方式 | 匹配目标 | 正则表达式 | 匹配目标名称 | ||||
---|---|---|---|---|---|---|---|
v1 | version-1 | test-1 | v2 | v3 | |||
完全匹配 | 仅匹配 v1 版本号。 | v1 | √ | - | - | - | - |
前缀匹配 | 匹配以 v 开头的所有版本号。 | ^v.*$ | √ | √ | - | √ | √ |
多前缀匹配 | 匹配以 v 或 t 开头的所有版本号。 | ^(v|t).*$ | √ | √ | √ | √ | √ |
后缀匹配 | 匹配以 -1 结尾的所有版本号。 | ^.*-1$ | - | √ | √ | - | - |
多后缀匹配 | 匹配以 1 或 2 结尾的所有版本号。 | ^.*(1|2)$ | √ | √ | √ | √ | - |
版本号匹配 | 匹配以 v 开头,连接阿拉伯数字结尾的版本号。 | ^v([0-9.]+)$ | √ | - | - | √ | √ |