您可以将当前DSW实例的环境配置保存为自定义镜像,推送至容器镜像服务ACR中,以便在未来快速复用或分享。这能帮您固化代码、依赖库和系统配置,解决官方镜像无法满足特定需求(如特定CUDA或Python版本)的问题,并且该镜像支持在PAI-DLC或PAI-EAS等其他服务中使用。
重要提醒
实例状态:必须在“运行中”的DSW实例上制作镜像。若实例处于“已停止”状态,“制作镜像”按钮将显示为灰色 。
地域一致:DSW实例与容器镜像服务ACR实例必须位于同一地域。地域不一致是导致无法找到镜像仓库或命名空间的首要原因。
镜像大小限制:单层镜像数据量不得超过10 GiB,否则构建会因超时或容量不足而失败。
环境限制:DSW本身是一个容器环境,不支持在内部再安装或使用Docker。
个人版和企业版ACR区别:
特性
个人版ACR
企业版ACR
费用
实例免费
实例需要付费购买,详情见企业版实例计费说明。
网络配置
通过公网访问,无需特殊网络配置。
必须与DSW实例在同一个专有网络VPC内。通过内网访问,传输更稳定 。
性能与稳定性
速度受公网带宽影响,大镜像(接近10 GiB)推送或拉取时可能因网络波动而超时失败。
速度快,稳定性高,通过VPC内网传输,更适合处理大镜像和生产环境。
地域灵活性
一个阿里云账号只能在一个地域创建个人版实例,如果DSW实例在其他地域,则无法使用。
可以在多个地域创建企业版实例,支持跨地域的DSW实例使用。
推荐场景
个人学习、功能测试、小镜像的环境备份。
团队协作、生产环境、需要高稳定性和传输速度的场景、需要跨地域使用镜像的场景。
操作步骤
步骤一:准备ACR
您可以根据业务需要选择个人版或者企业版ACR。
个人版ACR: 创建容器镜像服务个人版实例,然后创建命名空间,并在该空间下创建镜像仓库。
企业版ACR:
创建安全组,并绑定已创建的VPC。
创建容器镜像服务企业版实例,添加专有网络,绑定已创建的VPC和交换机。创建命名空间,并在该空间下创建镜像仓库。
步骤二:制作镜像
在状态为运行中的DSW实例右侧,单击制作镜像,选择个人版镜像或企业版镜像,配置如下关键参数后,单击保存。
参数 | 说明 |
镜像名称(ACR镜像版本名称) | 用于自定义镜像名称展示以及ACR中的镜像版本名称。 |
ACR镜像命名空间 | 选择已创建的命名空间。 |
ACR镜像仓库 | 选择已创建的镜像仓库。 |
自定义排除路径 | 创建镜像时,可以排除特定文件或目录,这能提高创建速度、节省存储空间并保护敏感信息。您可以自定义排除路径。如果未设置,系统将使用默认排除路径。 说明 单层镜像保存的数据量大小不超过10 GiB,否则将构建失败,请排除非必要保存的路径。
|
待镜像制作成功后,鼠标悬停,查看镜像地址,或单击此处,前往容器镜像控制台查看该镜像详情。
步骤三:使用自定义镜像
镜像制作成功后,在创建新的DSW实例时,镜像选择自定义镜像,即可使用制作的自定义镜像。
常见问题
1. 为什么制作DSW镜像时会失败或超时?
镜像大小超限:DSW制作镜像时,单层镜像保存的数据量不应超过10 GiB,否则构建会失败。建议您尝试缩小镜像大小,或使用更适合处理大镜像的企业版ACR。
地域不匹配:DSW实例与容器镜像服务ACR实例必须位于同一地域,否则在制作镜像时将无法找到对应的镜像仓库。
系统盘空间不足:制作镜像时,如果系统盘的剩余可用空间小于需要写入镜像层的数据大小,会报“insufficient capacity of ephemeral storage”错误。
网络问题:使用个人版ACR时,镜像是通过公网推送的,较大的镜像可能会因为网络波动或传输时间过长而导致超时失败。企业版ACR实例若与DSW实例绑定在同一个VPC内,则可以通过内网推送,速度更快更稳定。
2. 为什么“制作镜像”按钮是灰色的,或者在制作时找不到我的镜像仓库?
实例状态不正确:“制作镜像”功能仅对处于“运行中”状态的DSW实例开放。如果实例处于“已停止”或其他状态,该按钮将为灰色不可用。
前置条件未满足或配置错误:
您必须先在与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等核心组件。缺少关键组件会导致实例启动后功能异常。
镜像地址格式错误:请确保填写的镜像地址格式正确,能够被系统正常解析。