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

导出镜像

您可以从 AIStudio 开发机中保存离线镜像文件,并下载至本地机器中。可以在不访问 Docker 仓库(registry)的情况下,实现镜像的离线移植和备份。传输至其他机器后,使用 docker load 命令加载该镜像。

主要用例包括:

  • 物理隔离环境 在没有网络连接的安全环境中手动迁移镜像。
  • 简单的备份与归档:将镜像保存为单个 .tar 文件,便于在文件系统或存储服务中进行独立备份。
  • 临时的点对点传输:无需借助公共或私有镜像仓库,可通过 ssh 等方式在两台机器间快速直接地传递镜像。

导出镜像并传输至其他开发机

在 AIStudio 平台的开发机之间传输镜像时,使用镜像离线 tar 文件可作为替代租户镜像仓库的一种备选方案。

注意

这种方式仅在开发机之间传输镜像。在租户镜像仓库可用时,建议优先使用租户镜像仓库。

以下介绍通过 docker save 导出镜像离线 .tar 文件,传输至同可用区另一台开发机的步骤:

  1. 在开发机上检查本地镜像,当前开发机上已存在本地构建的 cuda-12.9:latest 镜像。

    shell
    root@is-db2g2ndlc7dyv2ho-devmachine-0:~# docker images
    REPOSITORY   TAG                    IMAGE ID       CREATED      SIZE
    cuda-12.9    latest                 ce071c4b4884   2 days ago   14.9GB
  2. 通过 docker save 命令可以将 Docker 镜像保存为 /tmp/cuda-12.9-latest.tar 文件(开发机的 /tmp 目录会在重启后自动清理,不占用额外空间)。

    shell
    # 将 cuda-12.9:latest 镜像保存为 cuda-12.9-latest.tar
    # 命令成功后无输出
    root@is-db2g2ndlc7dyv2ho-devmachine-0:~# docker save -o /tmp/cuda-12.9-latest.tar cuda-12.9:latest
  3. 检查 /tmp/cuda-12.9-latest.tar 文件是否存在。

    shell
    root@is-db2g2ndlc7dyv2ho-devmachine-0:~# ls -alht /tmp/cuda-12.9-latest.tar
    -rw------- 1 root root 14G Nov 10 11:09 /tmp/cuda-12.9-latest.tar
  4. 由于需要通过 scp 传输镜像 tar 文件,因此必须获取目标开发机的 SSH 登录凭证。该步骤不可跳过。您有以下几个选项:

    • 推荐:请问目标开发机详情页,确保目标开发机已开启基于密码认证 SSH 服务,并复制和记录 SSH 登录密码。如果未开启,请改配开发机,开启 SSH 服务的密码认证,等待开发机重启并再次进入运行中状态。
    • 备选:如果熟悉 SSH 密钥对生成和配置流程,可以在当前开发机生成公私对,在目标开发机上写入 SSH 公钥。
  5. 登录同可用区另一台开发机,执行 hostname -i 命令获取临时内网 IP。

    shell
    root@is-db3innzjy6ytobaz-devmachine-0:~# hostname -i
    172.27.36.105

    注意

    • 同可用区内网传输速度较快,可通过获取临时内网 IP 实现开发机之间快速传输。开发机重启后内网 IP 可能会变化,需重新获取。
    • 不同可用区之间不支持内网传输,请前往目标可用区开发机的详情页,获取 SSH IP 和端口号进行传输。
  6. 执行 scp 命令将 /tmp/cuda-12.9-latest.tar 文件传输至目标开发机。

    shell
    # 从当前开发机传输至目标开发机的 /tmp 目录
    # -vv 实现 verbose 模式,显示详细传输信息
    scp -vv /tmp/cuda-12.9-latest.tar root@172.27.36.105:/tmp/
  7. 登录目标开发机,检查 /tmp/cuda-12.9-latest.tar 文件是否存在。

    shell
    root@is-db3innzjy6ytobaz-devmachine-0:~# ls -alht /tmp
    total 14G
    -rw------- 1 root root 14G Nov 10 11:20 cuda-12.9-latest.tar

    确认镜像 tar 文件传输成功,执行 docker load 命令加载镜像。

    shell
    # 从 /tmp 目录加载 cuda-12.9-latest.tar 文件
    root@is-db3innzjy6ytobaz-devmachine-0:~# docker load -i /tmp/cuda-12.9-latest.tar 
    b706c187b212: Loading layer [==================================================>]  80.41MB/80.41MB
    c3ceff516656: Loading layer [==================================================>]  2.655GB/2.655GB
    1e830f953129: Loading layer [==================================================>]  8.686MB/8.686MB
    f264ce502d31: Loading layer [==================================================>]  6.144kB/6.144kB
    8f05333dea9c: Loading layer [==================================================>]  10.05GB/10.05GB
    64e9471211ad: Loading layer [==================================================>]  2.148GB/2.148GB
    Loaded image: cuda-12.9:latest

    以上输出表示镜像已经成功加载。

导出镜像并下载至本地机器

如果希望将 AIStudio 开发机上下载、构建的镜像传输到本地机器,只需要将 docker save 导出的镜像离线 .tar 文件下载到本地,再通过 docker load 加载镜像。

  1. 导出镜像离线 .tar 文件的步骤与导出镜像并传输至其他开发机相同。

  2. 前往当前开发机的详情页,获取 SSH 登录凭证,包括 IP 和 端口号。

    注意

    本步骤假设您本地机器已经可以成功 SSH 远程登录开发机。如果未配置,详见 开发机 SSH 远程登录

  3. 在本地机器,使用 scp 命令,指定开发机 SSH IP 和端口号,将镜像 tar 文件从开发机传输到本地。

    shell
    # 从开发机传输至本地 /tmp 目录
    # -vv 实现 verbose 模式,显示详细传输信息
    scp -vv -P 41294 root@199.115.57.194:/tmp/cuda-12.9-latest.tar /tmp/

    如果不熟悉 scp 使用,可参考 上传与下载文件

  4. 在本地机器,使用 docker load 命令加载镜像,具体方法与导出镜像并传输至其他开发机相同。

    注意

    • 请注意镜像平台差异,开发机构建的镜像可能为 linux/amd64linux/arm64 等不同平台。在加载镜像时,需要确保本地机器的 Docker 引擎支持该平台。
    • 如果在开发机内构建镜像,建议安装 Docker Buildx 插件。