2024-11-21 一站式 AI 平台生日大派对!2024-11-21 一站式 AI 平台生日大派对! 无问芯穹特别推出多项超值福利!立即参与
Skip to content

迁移外部镜像至租户镜像仓库

本文描述如何借助启用「Docker 容器」功能的开发机,将用户已有镜像迁移到智算云平台的镜像中心。

前提条件

  • 租户镜像仓库:租户已购买预付费资源(包两年/包年/包月/包周/包日)后,或已使用弹性资源创建开发机,可获得私有的租户镜像仓库。
  • 镜像基础组件要求:开发机依赖 sudossh 等基础组件,如果您的自定义镜像中缺乏必要依赖,可能无法用于运行开发机。

公网推送镜像

无问芯穹 AIStudio 平台提供了灵活、便捷的上传镜像功能。用户可以通过 AIStudio 的镜像中心,轻松地将本地容器镜像上传到平台分配的 Docker 仓库,或者直接提交第三方仓库镜像 URL 导入镜像。

该方案较为方便,但需要经过公网推送镜像,实际推送速度受网络带宽影响。

从公网推送本地镜像

对于本地镜像,用户可以获取必要的凭证和 URL 来推送镜像;

  1. 在 AIStudio 的镜像中心,选择「上传镜像」,

  2. 选择资源池的下拉列表中,每一行记录为一个可用区的所有资源池。选择一条记录后,表示镜像将上传到该可用区,如果使用该可用区的任何资源池创建开发机、任务、推理服务,均可使用该镜像。

  3. 选择命令行上传,并获取凭证和 URL。按照顺序执行 docker 命令即可。

    alt text

从公网镜像仓库导入镜像

对于存放在用户自建镜像仓库或第三方镜像仓库的远程镜像,只需填写相关 URL 和凭证信息即可。

  1. 在 AIStudio 的镜像中心,选择「上传镜像」,

  2. 选择资源池的下拉列表中,每一行记录为一个可用区的所有资源池。选择一条记录后,表示镜像将上传到该可用区,如果使用该可用区的任何资源池创建开发机、任务、推理服务,均可使用该镜像。

  3. 选择 URL 上传,并填写镜像 URL。如需认证,务必填写凭证信息。

    alt text

    WARNING

    如果使用自建镜像仓库 URL 或第三方镜像仓库 URL,请确保可从国内公网访问。

内网推送镜像

用户可以将本地的容器镜像 tar 文件上传到 AIStudio 平台上的开发机。通过简单的 Docker 命令,如 load、tag 和 push,用户能够在开发机内将镜像推送到 AIStudio 提供的 Docker 仓库中。

迁移的主要流程:

  1. 创建启用「Docker 容器」功能的开发机。
  2. 在开发机上准备用户镜像,可上传镜像文件开发机,或从指定的外部镜像仓库拉取到开发机。
  3. 推送到租户镜像仓库。

该方案需要提前上传容器镜像 tar 文件,但好处是 docker push 发生在集群内网中,无需经过公网,因此速度较快。

Step 0 创建开发机

创建开发机,并打开「Docker 容器」功能。

alt text

如需帮助,参见 Docker 功能

Step 1 准备待迁移镜像

如果已有镜像 tar 包,可考虑以下步骤本地传输镜像文件至在开发机或共享存储中:

也可考虑直接从外部镜像仓库拉取到开发机,要求外部镜像仓库支持公网访问。

Step 2 推送至租户镜像仓库

登录打开了 Docker 容器功能的开发机(开发机会默认登录您租户的镜像仓库),按照以下步骤操作:

  1. 如果要将 Docker 镜像 tar 包推送到镜像仓库,需要先加载镜像。使用 docker load 命令加载镜像:

    bash
    docker load -i <image_name>.tar
  2. 标记镜像: 镜像需要标记仓库路径(查看镜像仓库地址)和标签,请使用 docker tag

    格式:

    bash
    docker tag <loaded_image_name>:<version> <repository>/<image_name>:<version>

    示例:

    bash
    docker tag sd-webui:v1.1-1 cr.infini-ai.com/te-d397fngp1xye2h3q/sd-webui:v1.1-1
  3. 推送镜像: 使用 docker push 将镜像推送到仓库:

    格式:

    bash
    # 开发机内默认登录租户镜像,无需再次 docker login
    docker push <repository>/<image_name>:<version>

    示例:

    bash
    docker push cr.infini-ai.com/te-d397fngp1xye2h3q/sd-webui:v1.1-1

Step 3 查看结果

构建完成后,您可以访问镜像中心,在自定义镜像标签页中查看您的镜像。

NOTE

如果您所属租户在不同可用区均购买了资源,请注意租户在不同可用区的镜像仓库的存储网络相互隔离,暂不支持同步(但共用同一个内网地址)。例如,可用区 A 向 cr.infini-ai.com/te-b914754427352251 推送镜像,平台自动映射到可用区 A 的镜像仓库,可用区 B 无法使用该镜像。