本文档将指导您如何基于 Lindorm Ray 提供的官方公共镜像来构建和使用自定义镜像。通过该功能,您可以将业务所需的依赖库预先打包,从而实现运行环境的一致性、提升作业启动效率,并满足复杂场景下的个性化需求。
前提条件
在开始操作前,请确保您已满足以下条件:
注意事项
在使用自定义镜像时,请务必遵守以下规则,以确保系统稳定性和功能兼容性:
禁止修改核心目录:在
Dockerfile中,请勿修改以下目录及其子目录下的任何文件:/tmp/ray//opt/Ray 的安装目录(例如,Python 3.11 版本的路径为
/home/ray/anaconda3/lib/python3.11/site-packages/ray/)。
同地域部署:自定义镜像必须上传至与 Lindorm 实例相同地域的 ACR 仓库中,否则 Lindorm 将无法拉取。
核心流程
使用自定义镜像主要遵循以下四个步骤:
准备与构建:基于 Lindorm Ray 官方公共镜像,编写
Dockerfile并构建自定义镜像。上传镜像:将构建好的镜像推送至您的阿里云 ACR 仓库。
授权访问:在 Lindorm 控制台授权服务访问您的 ACR 仓库,此操作仅需一次。
配置与使用:在创建 Ray 资源组时,通过“高级配置”指定您的自定义镜像。
步骤一:准备与构建自定义镜像
获取 Lindorm Ray 公共镜像地址
Lindorm 为您提供了预置 Ray 环境的公共镜像,这是构建自定义镜像的基础。
镜像拉取地址模板:
docker pull lindorm-compute-public-registry.cn-hangzhou.cr.aliyuncs.com/lindorm-ray/ray:[镜像版本号]当前可用版本:
镜像版本号
Python 版本
是否支持 GPU
2.50.1-1.1.1-py310-cpuPython 3.10
否
2.50.1-1.1.1-py311-cpuPython 3.11
否
2.50.1-1.1.1-py310-gpuPython 3.10
是(预装 CUDA)
2.50.1-1.1.1-py311-gpuPython 3.11
是(预装 CUDA)
安装依赖版本说明
为保证兼容性,建议参考 RAY 官方依赖列表选择预装的依赖版本,比如使用pip install -c requirements_compiled.txt来安装依赖。
编写 Dockerfile
创建一个 Dockerfile 文件,以 Lindorm Ray 公共镜像为基础,并添加您自己的依赖安装命令。
示例 Dockerfile:
FROM lindorm-compute-public-registry.cn-hangzhou.cr.aliyuncs.com/lindorm-ray/ray:2.50.1-1.1.1-py311-cpu
RUN pip install --no-cache-dir numpy pandas请勿修改 /tmp/ray/、/opt/,以及 RAY 的安装目录及其子目录下的文件。以 Python 3.11 版本的 Lindorm RAY 镜像为例,RAY 的安装目录为 /home/ray/anaconda3/lib/python3.11/site-packages/ray/。
构建镜像
在 Dockerfile 所在的目录下,执行以下命令构建镜像。
docker build -t your-image-name:tag .步骤二:上传镜像到阿里云 ACR
构建完成后,您需要将本地镜像推送至 ACR 仓库。
登录 ACR
docker login --username=<your-username> <your-registry>为镜像打标签并推送
docker tag your-image-name:tag <your-registry>/<namespace>/<repo>:tag
docker push <your-registry>/<namespace>/<repo>:tag步骤三:授权 Lindorm 访问 ACR
在创建 Ray 资源组的页面,您需要授权 Lindorm 服务访问您的 ACR 镜像仓库。
点击“免密访问 ACR 自定义镜像”。
在弹出的授权窗口中,确认授权。
此授权操作仅需执行一次,后续创建资源组时无需重复授权。
步骤四:在 Ray 资源组中使用自定义镜像
完成授权后,在创建 Ray 资源组页面的“高级配置”中,填入以下 JSON 配置来指定您的自定义镜像。
{
"clusterConfig.image.custom.acr.instanceId":"your-acr-instanceId",
"clusterConfig.image":"your-full-image-addr"
}配置项说明:
配置项 | 说明 | 示例 |
| 您的 ACR 实例 ID。 |
|
| 完整的镜像地址,格式为 |
|
完成配置后,即可创建使用自定义镜像的 Ray 资源组。