更新时间:2024-11-15 GMT+08:00
分享

客户端上传镜像(推荐)

操作场景

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

如果容器引擎客户端机器为云上的ECS或CCE节点,根据机器所在区域有两种网络链路可以选择:

  • 若机器与容器镜像仓库在同一区域,则上传镜像走内网链路。
  • 若机器与容器镜像仓库不在同一区域,则上传镜像走公网链路,机器需要绑定弹性公网IP。

约束与限制

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

前提条件

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

docker容器引擎客户端

  1. 制作容器镜像导入镜像文件
  2. 连接容器镜像服务。

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

      登录成功会显示“Login Succeeded”

  3. 在安装容器引擎的机器上执行如下命令,为nginx镜像打标签。

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

    其中,

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

    示例:

    docker tag nginx:v1 swr.cn-east-3.myhuaweicloud.com/cloud-develop/nginx:v1

  4. 上传镜像至镜像仓库

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

    示例:

    docker push swr.cn-east-3.myhuaweicloud.com/cloud-develop/nginx:v1

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

    The push refers to repository [swr.cn-east-3.myhuaweicloud.com/cloud-develop/nginx:v1]
    fbce26647e70: Pushed 
    fb04ab8effa8: Pushed 
    8f736d52032f: Pushed 
    009f1d338b57: Pushed 
    678bbd796838: Pushed 
    d1279c519351: Pushed 
    f68ef921efae: Pushed 
    v1: digest: sha256:0cdfc7910db531bfa7726de4c19ec556bc9190aad9bd3de93787e8bce3385f8d size: 1780

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

containerd容器引擎客户端

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

    该指令将于6个小时后过期。若需要长期有效的上传指令,请参见获取containerd容器引擎长期有效的拉取、推送镜像指令

  4. 以root用户登录containerd引擎所在的虚拟机。
  5. 在虚拟机中执行3复制的镜像上传指令。

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

相关文档