制作DSW实例镜像

您可以将当前DSW实例的环境配置保存为自定义镜像,推送至容器镜像服务ACR中,以便在未来快速复用或分享。这能帮您固化代码、依赖库和系统配置,解决官方镜像无法满足特定需求(如特定CUDAPython版本)的问题,并且该镜像支持在PAI-DLCPAI-EAS等其他服务中使用。

重要提醒

  • 实例状态:必须在“运行中DSW实例上制作镜像。若实例处于“已停止”状态,“制作镜像”按钮将显示为灰色 。

  • 地域一致:DSW实例与容器镜像服务ACR实例必须位于同一地域。地域不一致是导致无法找到镜像仓库或命名空间的首要原因。

  • 镜像大小限制:单层镜像数据量不得超过10 GiB,否则构建会因超时或容量不足而失败。

  • 环境限制:DSW本身是一个容器环境,不支持在内部再安装或使用Docker。

  • 个人版和企业版ACR区别:

    特性

    个人版ACR

    企业版ACR

    费用

    实例免费

    实例需要付费购买,详情见企业版实例计费说明

    网络配置

    通过公网访问,无需特殊网络配置。

    必须与DSW实例在同一个专有网络VPC内。通过内网访问,传输更稳定 。

    性能与稳定性

    速度受公网带宽影响,大镜像(接近10 GiB)推送或拉取时可能因网络波动而超时失败。

    速度快,稳定性高,通过VPC内网传输,更适合处理大镜像和生产环境。

    地域灵活性

    一个阿里云账号只能在一个地域创建个人版实例,如果DSW实例在其他地域,则无法使用。

    可以在多个地域创建企业版实例,支持跨地域的DSW实例使用。

    推荐场景

    个人学习、功能测试、小镜像的环境备份。

    团队协作、生产环境、需要高稳定性和传输速度的场景、需要跨地域使用镜像的场景。

操作步骤

步骤一:准备ACR

您可以根据业务需要选择个人版或者企业版ACR。

步骤二:制作镜像

在状态为运行中DSW实例右侧,单击制作镜像,选择个人版镜像企业版镜像,配置如下关键参数后,单击保存

image

参数

说明

镜像名称(ACR镜像版本名称)

用于自定义镜像名称展示以及ACR中的镜像版本名称。

ACR镜像命名空间

选择已创建的命名空间。

ACR镜像仓库

选择已创建的镜像仓库。

自定义排除路径

创建镜像时,可以排除特定文件或目录,这能提高创建速度、节省存储空间并保护敏感信息。您可以自定义排除路径。如果未设置,系统将使用默认排除路径。

说明

单层镜像保存的数据量大小不超过10 GiB,否则将构建失败,请排除非必要保存的路径。

  • 自定义排除路径

    仅使用公共资源组的非ecs.ebm开头的规格支持用户自定义排除路径。

  • 系统默认排除路径(无需手动配置)

    • 使用公共资源组的非ecs.ebm开头规格的实例:

      /mnt/workspace/home/admin/workspace/home/admin/logs/tmp//etc/dsw/etc/dsw-logs

    • 通用计算资源组实例、使用公共资源组的ecs.ebm开头规格的实例、灵骏计算资源组实例:

      /mnt/workspace/home/admin/workspace/home/admin/logs/tmp//data/dev/shm/etc/dsw/etc/dsw-logs

待镜像制作成功后,鼠标悬停image,查看镜像地址,或单击此处,前往容器镜像控制台查看该镜像详情。

image

步骤三:使用自定义镜像

镜像制作成功后,在创建新的DSW实例时,镜像选择自定义镜像,即可使用制作的自定义镜像。

image

常见问题

1. 为什么制作DSW镜像时会失败或超时?

  • 镜像大小超限:DSW制作镜像时,单层镜像保存的数据量不应超过10 GiB,否则构建会失败。建议您尝试缩小镜像大小,或使用更适合处理大镜像的企业版ACR。

  • 地域不匹配:DSW实例与容器镜像服务ACR实例必须位于同一地域,否则在制作镜像时将无法找到对应的镜像仓库。

  • 系统盘空间不足:制作镜像时,如果系统盘的剩余可用空间小于需要写入镜像层的数据大小,会报“insufficient capacity of ephemeral storage”错误。

  • 网络问题:使用个人版ACR时,镜像是通过公网推送的,较大的镜像可能会因为网络波动或传输时间过长而导致超时失败。企业版ACR实例若与DSW实例绑定在同一个VPC内,则可以通过内网推送,速度更快更稳定。

2. 为什么“制作镜像”按钮是灰色的,或者在制作时找不到我的镜像仓库?

  1. 实例状态不正确:“制作镜像”功能仅对处于“运行中”状态的DSW实例开放。如果实例处于“已停止”或其他状态,该按钮将为灰色不可用。

  2. 前置条件未满足或配置错误:

    • 您必须先在与DSW实例相同的地域创建好容器镜像服务ACR实例,并在其中创建了命名空间和镜像仓库。

    • 请务必确认DSW实例和ACR实例的地域完全一致。

3. 可以在DSW实例中安装和使用Docker吗?

不可以。DSW本身运行在一个容器环境中,因此不支持在DSW内部再次安装和使用Docker。如果您需要使用特定的Docker镜像环境,应在创建DSW实例时,选择“自定义镜像”,并填入您存放于ACR中的镜像地址。

4. 如何升级DSW实例中的NVIDIA驱动或CUDA版本?

不要升级驱动版本。 DSW实例的驱动和CUDA是预装并锁定的,不能也不应该手动修改,否则极易导致实例损坏且无法恢复。正确的做法是:更换DSW镜像。停止当前实例,新建一个实例,并选择一个官方提供的、带有更高版本CUDA和驱动的镜像。

例如官方镜像:modelscope:1.9.4-pytorch2.0.1tensorflow2.13.0-gpu-py38-cu118-ubuntu20.04。其中cu118,代表CUDA版本为11.8。

5. 使用第三方或自定义镜像创建DSW实例时为什么会失败?

  • 镜像拉取权限问题:若使用私有镜像或需VPC网络访问,请检查DSW实例网络配置和ACR仓库授权策略。日志中的“pull access denied”或“authorization failed”错误,均表示权限问题。

  • 镜像不兼容:自定义镜像必须满足DSW运行要求。例如,基于兼容的Linux发行版,并预装Jupyter、Python等核心组件。缺少关键组件会导致实例启动后功能异常。

  • 镜像地址格式错误:请确保填写的镜像地址格式正确,能够被系统正常解析。