2.2. 创建自定义培训镜像
您可以通过向基础培训镜像添加软件包来创建自定义培训镜像。
先决条件
您可以访问已选择用作自定义镜像基础的培训镜像。
如需了解 OpenShift AI 基本培训镜像及其预安装的软件包列表,请参阅 支持的配置。
您已在本地环境中安装了 Podman,您可以访问容器 registry。
有关 Podman 和容器注册表的更多信息,请参阅 构建、运行和管理容器。
流程
- 在终端窗口中,为您的工作创建一个目录,并更改到该目录。
将
IMG
环境变量设置为镜像的名称。在本节中的示例命令中,my_training_image
是镜像的名称。export IMG=my_training_image
export IMG=my_training_image
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下内容创建名为
Dockerfile
的文件:使用
FROM
指令指定合适的基本培训镜像的位置。培训镜像中的 Python 版本必须与工作台中的 Python 版本相同。
要创建与 CUDA 兼容的 Ray 集群镜像,请指定与 CUDA 兼容的 Ray 基础镜像的位置,如下例所示:
使用 Python 3.9 的 CUDA 兼容 Ray 基础镜像
FROM quay.io/modh/ray:2.35.0-py39-cu121
FROM quay.io/modh/ray:2.35.0-py39-cu121
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 Python 3.11 的 CUDA 兼容 Ray 基础镜像
FROM quay.io/modh/ray:2.35.0-py311-cu121
FROM quay.io/modh/ray:2.35.0-py311-cu121
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要创建与 ROCm 兼容的 Ray 集群镜像,请指定与 ROCm 兼容的 Ray 基础镜像的位置,如下例所示:
使用 Python 3.9 兼容的 ROCm 基础镜像
FROM quay.io/modh/ray:2.35.0-py39-rocm61
FROM quay.io/modh/ray:2.35.0-py39-rocm61
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 Python 3.11 的 ROCm 兼容 Ray 基础镜像
FROM quay.io/modh/ray:2.35.0-py311-rocm61
FROM quay.io/modh/ray:2.35.0-py311-rocm61
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要创建与 CUDA 兼容的 KFTO 集群镜像,请指定 Developer Preview CUDA-compatible KFTO 基础镜像位置:
使用 Python 3.11 的 CUDA 兼容 KFTO 基础镜像
FROM quay.io/modh/training:py311-cuda121-torch241
FROM quay.io/modh/training:py311-cuda121-torch241
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要创建与 ROCm 兼容的 KFTO 集群镜像,请指定与 ROCm 兼容的 KFTO 基础镜像位置:
使用 Python 3.11 的 ROCm-compatible KFTO 基础镜像
FROM quay.io/modh/training:py311-rocm61-torch241
FROM quay.io/modh/training:py311-rocm61-torch241
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用
RUN
指令安装其他软件包。您还可以通过使用数字符号(#
)为每个注释行添加注释到 Dockerfile。以下示例演示了如何安装 Python PyTorch 软件包的特定版本:
Install PyTorch
# Install PyTorch RUN python3 -m pip install torch==2.4.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
构建 镜像文件。将
-t
选项与podman build
命令一起使用,以创建指定镜像名称和版本的镜像标签,以便更轻松地引用和管理镜像:podman build -t <image-name>:_<version>_ -f Dockerfile
podman build -t <image-name>:_<version>_ -f Dockerfile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example:
podman build -t ${IMG}:0.0.1 -f Dockerfile
podman build -t ${IMG}:0.0.1 -f Dockerfile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 构建输出表示构建过程完成。
显示镜像列表:
podman images
podman images
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果成功创建了新镜像,则会将其包含在镜像列表中。
将镜像推送到容器 registry 中:
podman push ${IMG}:0.0.1
podman push ${IMG}:0.0.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 可选:使新镜像可供其他用户使用,如 将镜像推送到集成的 OpenShift 镜像 registry 中所述。