文档首页/ 容器镜像服务 SWR/ 用户指南(安卡拉区域)/ 镜像管理/ 获取docker容器引擎长期有效登录指令
更新时间:2024-12-02 GMT+08:00

获取docker容器引擎长期有效登录指令

操作场景

本章节介绍如何获取长期有效的登录指令,长期有效登录指令的有效期为永久。

为保证安全,获取登录指令过程建议在开发环境执行。

操作流程

您可以按照以下流程获取长期有效登录指令。

图1 流程示意图

操作步骤

  1. 获取编程访问权限。(如果当前用户已有编程访问权限,请忽略此步骤)

    1. 以管理员身份,登录管理控制台。
    2. 在管理控制台左上角单击,选择区域和项目。
    3. 单击左侧导航栏,选择“管理与部署”>“统一身份认证服务IAM”。
    4. “用户”页搜索框输入并搜索要授予编程访问权限的用户名称。
    5. 单击用户名称,进入用户详情页。
    6. 单击“访问方式”后面的按钮。
    7. 勾选“编程访问”选项。(可单独勾选编程访问,也可以2种访问方式同时勾选。)

  2. 获取区域项目名称、镜像仓库地址。

    1. 登录管理控制台,单击右上角您的用户名处,单击“我的凭证”
    2. 在“API凭证”的项目列表中查找当前区域对应的项目。
    3. 参考1.b获取镜像仓库地址,登录指令末尾的域名即为镜像仓库地址。

  3. 获取AK/SK访问密钥。

    访问密钥即AK/SK(Access Key ID/Secret Access Key),表示一组密钥对,用于验证调用API发起请求的访问者身份,与密码的功能相似。如果您已有AK/SK,可以直接使用,无需再次获取。

    1. 登录管理控制台,单击右上角您的用户名处,单击“我的凭证”
    2. 在左侧导航栏中选择“访问密钥”,单击“新增访问密钥”。
    3. 单击“确定”,下载访问密钥,其中包含AK和SK。

      为防止访问密钥泄露,建议您将其保存到安全的位置。

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

    printf "$AK" | openssl dgst -binary -sha256 -hmac "$SK" | od -An -vtx1 | sed 's/[ \n]//g' | sed 'N;s/\n//'

    其中$AK和$SK为3获取的AK/SK。

    图2 示例

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

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

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

    登录密钥字符串是经过加密的,无法逆向解密,从-p无法获取到SK。

    获取的登录指令可在其他机器上使用并登录。

  6. 使用history -c命令清理相关使用痕迹,避免隐私信息泄露。