You need to enable JavaScript to run this app.
导航
基于 Nerdctl 推送和拉取镜像
最近更新时间:2024.07.26 17:06:12首次发布时间:2024.07.26 17:06:12

镜像仓库支持托管容器镜像。本文以使用标准版实例推送和拉取镜像为例,为您介绍推送和拉取镜像的方法。

前提条件

  • 已注册火山引擎账号。详细操作,请参见 如何进行账号注册
  • 账号已通过企业认证。详细操作,请参见 实名认证

    注意

    仅支持企业实名认证的用户使用火山引擎镜像仓库 CR 产品。

  • 已开通镜像仓库产品。若未开通,请登录 镜像仓库控制台,根据系统引导开通产品。
  • 若需要 IAM 用户操作镜像仓库,请确保已完成镜像仓库相关策略和角色授权,具体操作说明参见 管理授权
  • 如果您的机器与镜像仓库处于不同网络,机器访问仓库必须通过公网访问,您需要开启 访问控制公网访问 开关,详细操作参见 访问控制

    说明

    如果您的机器和镜像仓库处于同一网络下,机器访问仓库默认通过 VPC 访问。

  • 推送镜像前,请确保本地已有镜像,且已知镜像的 ImageID 或镜像名称。

步骤一:创建标准版实例

  1. 登录 镜像仓库控制台
  2. 在顶部导航栏,选择目标地域。
  3. 左侧导航栏单击 实例列表 后,在右侧页面 实例列表 区域单击 创建仓库实例
  4. 创建仓库实例 页面,填写 购买信息
    alt
    参数说明

    名称

    设置标准版实例的名称。需确保同一个地域下,实例名称的唯一性。

    说明

    标准版实例创建成功后,实例名称不可修改。

    关联项目关联目标项目。关联后,该项目中成员将根据项目授权获取镜像仓库的对应权限。详情参见 项目管理管理项目授权
    系统域名根据您设置的标准版实例名称,系统自动生成的仓库域名。
    计费类型选择计费类型,当前仅支持 按量计费
    标签支持通过键值对,自定义实例的标签。支持在 分账账单 中基于实例标签查看账单信息,详情说明参见 分账账单
  5. 规模套餐 中,单击 标准版
  6. (可选)在 配额扩容 页面,按照提示申请额外的配额。相应的费用说明参见 计费概览
    alt
  7. 查看实例规格对比和配置费用,确认无误后,单击 确认订单
  8. 确认订单 页面再次确认订单信息后,仔细阅读并勾选 我已阅读并同意《镜像仓库专用服务条款》
  9. 单击 确定 提交订单,开始创建标准版实例。

    说明

    您支持在 实例列表 页面查看实例创建进度。当 实例状态运行中 时,表示实例创建成功。

步骤二:设置访问密码

在使用镜像仓库前需要设置仓库访问密码,此处设置的访问密码为 nerdctl login 的密码。

  1. 在左侧导航栏单击 实例列表 后,在右侧页面 实例列表 区域中找到目标标准版实例,单击 进入实例

    说明

    进入未设置访问密码的标准版实例页面时,系统会自动弹出 设置仓库实例密码 对话框。

    alt
  2. 设置仓库实例密码 对话框,设置访问密码并确认密码后单击 确定,设置完成仓库实例密码。

步骤三:创建命名空间

  1. 在左侧导航栏单击 实例列表,然后在 实例列表 区域中找到需要创建命名空间的标准版实例,单击 进入实例

  2. 在标准版实例页面左侧导航栏单击 命名空间

  3. 命名空间 页面,单击 创建命名空间

  4. 配置命名空间参数。
    alt

    参数说明
    名称自定义命名空间的名称。
    关联项目关联目标项目。关联后,该项目中成员将根据项目授权获取镜像仓库的对应权限。详情参见 项目管理管理项目授权

    默认仓库类型

    设置该命名空间下制品仓库的默认公私有类型。

    • 私有:私有 OCI 制品仓库类型,需要输入访问密钥后才能够访问。
    • 公有:公有 OCI 制品仓库类型,不需要访问密钥,支持直接访问。

    最大存储容量

    选择是否设置命名空间最大存储容量。

    • 不限制:不设置命名空间的存储容量上限。
    • 限制:设置命名空间的存储上限,超出上限后不支持推送 OCI 制品至本命名空间。

    说明

    在同一个标准版实例内,命名空间名称必须唯一。

  5. 单击 确定,完成命名空间创建。

步骤四:创建 OCI 制品仓库

  1. 在左侧导航栏单击 实例列表,然后在 实例列表 区域中找到需要创建制品仓库的标准版实例,单击 进入实例

  2. 在标准版实例页面左侧导航栏单击 OCI 制品仓库

  3. OCI 制品仓库 页面,单击 创建 OCI 制品仓库

  4. 创建 OCI 制品仓库 对话框,设置制品仓库参数。
    alt

    参数说明
    命名空间选择 OCI 制品仓库所属的命名空间。
    类型选择 OCI 制品仓库的类型。
    • 公有类型:拥有全读写权限的子用户可推送或拉取镜像,其他用户可匿名拉取镜像。
    • 私有类型:拥有全读写权限的子用户可推送或拉取镜像 ,拥有只读权限的子用户可拉取镜像。
    名称设置 OCI 制品仓库名称。在同一个命名空间内,制品仓库名称必须为唯一。
    描述输入 OCI 制品仓库的更多描述信息。可以为空。
  5. 单击 确定,创建完成 OCI 制品仓库。

步骤五:推送或拉取镜像

推送镜像

说明

推送镜像前无需在控制台创建 OCI 制品仓库。镜像仓库控制台将根据推送命令中 <OCI 制品仓库名称> 自动创建 私有 OCI 制品仓库。后续您可以通过修改 OCI 制品仓库类型,更新为 公有 OCI 制品仓库,详情参见 修改 OCI 制品仓库

本文以如下参数为例。

用户名UserId标准版实例地域命名空间OCI 制品仓库
v**1007***test1华北2(北京)

cn-beijing

spacemysql
  1. 通过命令行工具执行以下命令登录镜像仓库实例。
    输入您在 设置标准版实例访问凭证 中设置的访问密码。

    nerdctl login --username=<火山引擎帐号用户名>@<UserID> <标准版实例名称>-<地域>.cr.volces.com
    

    示例:

    nerdctl login --username=v**@1007*** test1-cn-beijing.cr.volces.com
    
  2. 执行以下命令推送镜像至镜像仓库实例。

    nerdctl push  <标准版实例名称>-<地域>.cr.volces.com/<命名空间名称>/<OCI 制品仓库名称>:[镜像版本号]
    

    示例:

    nerdctl push test1-cn-beijing.cr.volces.com/space/mysql:latest
    

    系统显示类似如下信息,表示您已成功推送镜像。
    alt

拉取镜像

本文以如下参数为例。

用户名UserId标准版实例地域命名空间OCI制品仓库
v**1007***test1华北2(北京)

cn-beijing

spacemysql

说明

公有镜像可匿名拉取,即无需登录镜像仓库实例直接拉取公有镜像。

  1. 执行以下命令登录镜像仓库实例。
    输入您在 设置标准版实例访问凭证 中设置的访问密码。

    nerdctl login --username=<火山引擎账号用户名>@<UserID> <标准版实例名称>-<地域>.cr.volces.com
    

    示例:

    nerdctl login --username=v**@1007*** test1-cn-beijing.cr.volces.com
    
  2. 执行以下命令拉取镜像。

    nerdctl pull <标准版实例名称>-<地域>.cr.volces.com/<命名空间名称>/<OCI 制品仓库名称>:[镜像版本号]
    

    示例:

    nerdctl pull test1-cn-beijing.cr.volces.com/space/mysql:lastest
    

    系统显示类似如下信息,表示您已成功从镜像仓库拉取镜像。

    Status: Image is up to date for test1-cn-beijing.cr.volces.com/space/mysql:lastest