九游平台/ 容器镜像服务 swr/ 用户指南(共享版)/ 镜像管理/ 获取长期有效登录或推拉镜像指令
更新时间:2025-03-11 gmt 08:00

获取长期有效登录或推拉镜像指令-九游平台

操作场景

使用容器引擎客户端推送或者拉取镜像时,连接镜像仓库有临时登录指令和长期登录指令。

具体差异请参见

本章节介绍如何获取docker容器引擎长期有效的登录指令以及containerd容器引擎长期推送、拉取镜像指令,长期有效登录指令的有效期为永久。

临时登录指令提示过期时,需要清除浏览器缓存后重新生成登录指令。

获取方式

下面来介绍如何获取docker容器引擎长期有效登录指令和获取containerd容器引擎长期有效的拉取、推送镜像指令的详细操作。

  1. 已拥有编程访问权限。获取编程访问权限方式如下:
    1. 以管理员身份,登录。
    2. 在管理控制台左上角单击,选择区域和项目。
    3. 单击左侧导航栏,选择“管理与监管”>“统一身份认证服务iam”。
    4. “用户”页搜索框输入并搜索要授予编程访问权限的用户名称。
    5. 单击用户名称,进入用户详情页。单击“访问方式”后面的按钮。勾选“编程访问”选项(可单独勾选编程访问,也可以2种访问方式同时勾选。)
      图1 修改访问方式
  2. 已获取ak/sk访问密钥,获取方式如下:

    用户登录iam控制台前,请确保已具有iam服务访问权限,授权方式请参考创建用户组并授权

    1. 登录iam管理控制台,将鼠标移到用户名处,单击“我的凭证”
    2. 在左侧导航栏中选择“访问密钥”,单击“新增访问密钥”
    3. 输入描述信息,单击“确定”
    4. 在弹出的提示页面单击“立即下载”
    5. 下载成功后,在“credentials.csv”文件中即可获取ak和sk信息。
      表1 credentials.csv文件示例

      user name

      access key id

      secret access key

      a*****

      rvhvmx******

      h3npwzgz******

      每个访问密钥文件仅能下载一次,请妥善保管。

  3. 登录。
  4. 依次单击页面的“登录指令->长期有效登录指令->导入访问密钥”,选择访问密钥文件credentials.csv或者手动输入步骤2中获取的 credentials.csv文件中的access key idsecret access key,单击“生成指令”后会自动生成长期有效的登录指令。到此获取完成后面的步骤您无需执行。如果您的控制台的页面暂无长期有效登录指令页签,请跳过本步骤参考后面的步骤完成手动拼接长期有效登录指令。

  5. 获取区域项目名称、镜像仓库地址。
    1. 登录iam管理控制台。
    2. 将鼠标移至页面右上角用户名称上。
      图2 iam九游平台首页
    3. 在下拉菜单中,单击“我的凭证”
    4. 在项目列表中找到您的虚拟机的所属区域及项目:
      图3 区域与项目
    5. 您可以按照获取到的项目信息拼接镜像仓库地址,拼接方式为 : swr.区域项目名称.myhuaweicloud.com

      如用户a*****虚拟机所在区域为华北-北京四,那么对应的镜像仓库地址为:swr.cn-north-4.myhuaweicloud.com。

  6. 登录一台linux系统的计算机,执行如下命令获取登录密钥

    printf "ak" | openssl dgst -binary -sha256 -hmac "sk" | od -an -vtx1 | sed 's/[ \n]//g' | sed 'n;s/\n//'

    请将ak替换为2credentials文件access key id,sk替换为2credentials文件secret access key

    示例:

    printf "rvhvmx******" | openssl dgst -binary -sha256 -hmac "h3npwzgz******" | od -an -vtx1 | sed 's/[ \n]//g' | sed 'n;s/\n//'

    执行上面的命令后,我们得到的登录密钥如下:

    cab4ceab4a1545***************

    以上密钥仅为示例,请以实际获得的密钥为准。

  7. 使用如下的格式拼接登录指令。

    docker login -u [区域项目名称]@[ak] -p [登录密钥] [镜像仓库地址]

    其中,区域项目名称和镜像仓库地址在5中获取,ak在2中获取,登录密钥为6的执行结果。

    示例:

    docker login -u cn-north-4@rvhvmx****** -p cab4ceab4a1545*************** swr.cn-north-4.myhuaweicloud.com

    当显示“login succeeded”,即为登录成功。

    • 登录密钥字符串是经过加密的,无法逆向解密,从-p无法获取到sk。
    • 获取的登录指令可在其他机器上使用并登录。
  8. (可选)当您退出仓库时,请使用以下命令删除您的认证信息。
    cd /root/.docker/
    rm -f config.json
  9. (可选)使用history -c命令清理相关使用痕迹,避免隐私信息泄露。
  1. 已拥有编程访问权限。获取编程访问权限方式如下:
    1. 以管理员身份,登录。
    2. 在管理控制台左上角单击,选择区域和项目。
    3. 单击左侧导航栏,选择“管理与监管”>“统一身份认证服务iam”。
    4. “用户”页搜索框输入并搜索要授予编程访问权限的用户名称。
    5. 单击用户名称,进入用户详情页。单击“访问方式”后面的按钮。勾选“编程访问”选项(可单独勾选编程访问,也可以2种访问方式同时勾选。)
      图4 修改访问方式
  2. 已获取ak/sk访问密钥,获取方式如下:

    用户登录iam控制台前,请确保已具有iam服务访问权限,授权方式请参考创建用户组并授权

    1. 登录iam管理控制台,将鼠标移到用户名处,单击“我的凭证”
    2. 在左侧导航栏中选择“访问密钥”,单击“新增访问密钥”
    3. 输入描述信息,单击“确定”
    4. 在弹出的提示页面单击“立即下载”
    5. 下载成功后,在“credentials.csv”文件中即可获取ak和sk信息。
      表2 credentials.csv文件示例

      user name

      access key id

      secret access key

      a*****

      rvhvmx******

      h3npwzgz******

      每个访问密钥文件仅能下载一次,请妥善保管。

  3. 获取区域项目名称、镜像仓库地址。
    1. 登录。
    2. 将鼠标移至页面右上角用户名称上。
      图5 iam九游平台首页
    3. 在下拉菜单中,单击“我的凭证”
    4. 在项目列表中找到您的虚拟机的所属区域及项目:
      图6 区域与项目
    5. 您可以按照获取到的项目信息拼接镜像仓库地址,拼接方式为 : swr.区域项目名称.myhuaweicloud.com。

      如用户a*****虚拟机所在区域为华北-北京四,那么对应的镜像仓库地址为:swr.cn-north-4.myhuaweicloud.com。

  4. 登录一台linux系统的计算机,执行如下命令获取登录密钥

    printf "ak" | openssl dgst -binary -sha256 -hmac "sk" | od -an -vtx1 | sed 's/[ \n]//g' | sed 'n;s/\n//'

    请将ak替换为步骤2credentials.csv文件access key idsk替换为步骤2credentials.csv文件secret access key

    示例:

    printf "rvhvmx******" | openssl dgst -binary -sha256 -hmac "h3npwzgz******" | od -an -vtx1 | sed 's/[ \n]//g' | sed 'n;s/\n//'

    执行上面的命令后,我们得到的登录密钥如下:

    cab4ceab4a1545***************

    以上密钥仅为示例,请以实际获得的密钥为准。

  5. 使用如下的格式拼接长期拉取和推送镜像的指令。

    1. 镜像拉取指令拼接

    ctr image pull --user [项目名]@[ak]:[登录密钥] [镜像仓库地址]

    其中,项目名和镜像仓库地址在步骤3中获取,ak步骤2中获取的credentials.csv文件中access key id字段,登录密钥为步骤4的执行结果。

    2. 镜像推送指令拼接

    ctr image push --user [项目名]@[ak]:[登录密钥] [镜像仓库地址]

    其中,项目名和镜像仓库地址在步骤3中获取,ak步骤2中获取的credentials.csv文件中access key id字段,登录密钥为步骤4的执行结果。

    • 登录密钥字符串是经过加密的,无法将登录密钥字符串逆向解密成sk。
    • 获取的指令可在其他机器上使用并进行镜像上传下载。

相关文档

网站地图