更新时间:2024-12-02 GMT+08:00

客户端上传镜像

操作场景

客户端上传镜像,是指在安装了容器引擎客户端的机器上使用docker命令或者ctr命令将镜像上传到容器镜像服务的镜像仓库。如果是docker容器引擎客户端则使用docker push命令上传。如果是containerd容器引擎客户端则使用ctr push命令上传。

约束与限制

  • 使用客户端上传镜像,镜像的每个layer大小不能超过10G。
  • 若使用docker容器引擎客户端上传镜像,请确保docker容器引擎客户端版本必须为1.11.2(包含)到24.0.9(包含)之间的。

前提条件

已创建组织,请参见创建组织

docker容器引擎客户端

本章节以容器引擎基础知识中制作的nginx:v1镜像为例,介绍如何使用客户端上传镜像。操作步骤如下:

  1. 连接容器镜像服务。

    1. 登录容器镜像服务控制台,以root用户登录容器引擎所在的虚拟机。
    2. 选择容器镜像服务控制台左侧导航栏的“总览”,单击页面右上角的“登录指令”,在弹出的页面中单击复制登录指令。
      • 此处生成的登录指令有效期为24小时,若需要长期有效的登录指令,请参见获取docker容器引擎长期有效登录指令。获取了长期有效的登录指令后,在有效期内的临时登录指令仍然可以使用。
      • 登录指令末尾的域名为镜像仓库地址,请记录该地址,后面会使用到。
    3. 在安装Docker的机器中执行上一步复制的登录指令。

      登录成功会显示“Login Succeeded”

  2. 在安装Docker的机器上执行以下命令,为nginx镜像打标签。

    docker tag [镜像名称1:版本名称1] [镜像仓库地址]/[组织名称]/[镜像名称2:版本名称2]

    其中,

    • [镜像名称1:版本名称1]:请替换为您所要上传的实际镜像的名称和版本名称。
    • [镜像仓库地址]:可在SWR控制台上查询,即1.b中登录指令末尾的域名。
    • [组织名称]:请替换为您创建的组织。
    • [镜像名称2:版本名称2]:请替换为您期待的镜像名称和镜像版本。

    示例:

    docker tag nginx:v1 {Image repository address}/group/nginx:v1

  3. 上传镜像至镜像仓库

    docker push [镜像仓库地址]/[组织名称]/[镜像名称2:版本名称2]

    示例:

    docker push {Image repository address}/group/nginx:v1

    终端显示如下信息,表明上传镜像成功。

    6d6b9812c8ae: Pushed 
    695da0025de6: Pushed 
    fe4c16cbf7a4: Pushed 
    v1: digest: sha256:eb7e3bbd8e3040efa71d9c2cacfa12a8e39c6b2ccd15eac12bdc49e0b66cee63 size: 948

    返回容器镜像服务控制台,在“我的镜像”页面,执行刷新操作后可查看到对应的镜像信息。

containerd容器引擎客户端

  1. 登录容器镜像服务控制台。
  2. 在左侧导航栏选择“我的镜像”,单击右侧镜像名称。
  3. 在镜像详情页面中,进入“Pull/Push指南”页签,复制containerd容器引擎的镜像上传指令。

    该指令将于6个小时后过期。如果想获取长期上传指令请参考获取containerd容器引擎长期有效的拉取、推送镜像指令

  4. 以root用户登录containerd引擎所在的虚拟机。
  5. 在虚拟机中执行3复制的镜像上传指令,请修改版本名称为要上传镜像的。

  6. 检查镜像是否上传成功。