GenStudio LLM API 部分模型价格调整公告GenStudio LLM API 部分模型价格调整公告 ,新价格 2025 年 11 月 1 日生效调价公告
Skip to content

使用镜像 Tar 包导入镜像

将本地的容器镜像 Tar 包文件上传到 AIStudio 平台上的开发机,通过标准的 Docker 命令导入为镜像。

这种方式一般用于将用户的容器镜像 Tar 包导入为镜像中心的自定义镜像。主要流程:

  1. 确定需要导入镜像目标可用区后。
  2. 使用目标可用区的算力资源创建开发机,并启用「Docker 容器」功能。
  3. 上传容器镜像 tar 文件至开发机,通过 docker load 导入为镜像。
  4. 根据平台规范,执行 docker tag 添加镜像标签。
  5. 推送到同可用区租户镜像仓库(docker push 必须使用内网专用地址,不经过公网,速度较快)。

环境要求

  • 要求开发机已启用「Docker 容器」功能。

  • 强烈推荐先安装 buildx,因为它基于更先进的 BuildKit 引擎,能提供更快的构建速度、更强大的功能以及旧版构建器所不支持的多平台镜像构建能力。详见 Buildkit

    shell
    mkdir -p /usr/local/lib/docker/cli-plugins && curl -sSL https://ghfast.top/https://github.com/docker/buildx/releases/download/v0.29.1/buildx-v0.29.1.linux-amd64 -o /usr/local/lib/docker/cli-plugins/docker-buildx
    chmod +x /usr/local/lib/docker/cli-plugins/docker-buildx

导入镜像 Tar 包

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

  2. 将镜像 Tar 包传输到开发机或共享存储中。如果文件较大,且您已购买共享文件存储,建议使用基于 AICoder 的传输方案,避免占用 GPU 卡时。

  3. 在开发机中,使用 docker load 命令加载镜像:

    shell
    # 示例:加载 /tmp 目录下的 cuda-12.9-latest.tar
    docker load -i /tmp/cuda-12.9-latest.tar

    部分常见问题:

    • 文件未找到:请检查 tar 文件路径是否正确,使用 ls -lh /tmp/*.tar 确认文件存在。
    • 磁盘空间不足:加载大镜像需要足够的磁盘空间。使用 df -h 检查 /var/lib/docker 所在分区的剩余空间。
  4. 加载完成后,使用 docker images 查看镜像列表,确认镜像已存在:

    bash
    docker images | grep cuda

    预期输出示例:

    text
    REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
    cuda-12.9    latest    a1b2c3d4e5f6   2 days ago     1.5GB

推送镜像至租户镜像仓库

在开发机中推送镜像至同可用区镜像服务(即内网推送),一般无需手动执行 docker login

  1. 在开启 「Docker 容器」功能的开发机中,检查是否已存在平台镜像 Registry 登录凭证。

    shell
    cat /tmp/docker-config/config.json
  2. 获取租户镜像服务命令空间(租户镜像仓库根路径)。

    shell
    # 提取并定义租户镜像仓库根路径 (Registry + Project)
    export INTRANET_REPO_ROOT="cr.infini-ai.com/$(grep -o 'robot\$[^"+]*' /tmp/docker-config/config.json | cut -d'$' -f2)" && echo $INTRANET_REPO_ROOT

    示例输出:

    shell
    # 租户 ID 为 te-b905754427352261 的私有镜像仓库根路径
    cr.infini-ai.com/te-b905754427352261

    提示

    您可以在 镜像仓库说明 中查看租户私有仓库的地址规则。

  3. 为镜像添加租户私有仓库路径和标签。

    bash
    # 已通过前述步骤获取私有镜像仓库根路径 INTRANET_REPO_ROOT
    docker tag cuda-12.9 $INTRANET_REPO_ROOT/cuda-12.9
  4. 执行 docker push

    shell
    docker push $INTRANET_REPO_ROOT/cuda-12.9

    常见问题:

    • 需要登录:请前往开发机详情页,检查是否已开启「Docker 容器」功能;如未开启,可通过「改配」开启。
    • 权限拒绝 (Denied):如果凭证丢失,请尝试直接执行 docker login(通常开发机自动配置,无需手动)。
  5. 推送完成后,您可以检查命令输出,确保所有层都显示 Pushed。还可以访问镜像中心,在自定义镜像标签页中查看您的镜像。

注意

跨可用区推送镜像

  • 上述步骤仅限于推送镜像至同可用区镜像服务(即内网推送),不适用于跨可用区推送镜像。推送成功的镜像仅供同一可用区的平台服务使用。
  • 租户在不同可用区的镜像服务存储网络相互隔离,暂不支持同步。
  • 如果需要从可用区 A 的开发机推送镜像至可用区 B 镜像服务,需要获取可用区 B 镜像服务的公网访问地址与登录凭证,经过公网推送镜像,实际推送速度受网络带宽影响。详见通过命令行上传公网镜像