若平台内置镜像不满足您的需求,您也可以使用自定义镜像创建训练任务和开发机实例,以下是自定义镜像的 Dockerfile 示例:
基本镜像规范
若想要自定义镜像能在任务式建模启动训练任务,要求镜像安装 openssh-server 组件。若需要使用 Git 存储,同时要求镜像安装git组件,示例如下:
# 基础镜像请自行修改
FROM ubuntu:20.04
# 安装 openssh-server
RUN apt-get update && apt-get install -y openssh-server git && apt-get clean && mkdir -p /var/run/sshd
说明:
若基础镜像是 centos 系统的话,使用 yum/dnf 进行包管理,请自行调整安装命令。
开发机镜像规范
若想要自定义镜像能在开发机启动实例,除了要满足上述基本镜像规范以外,建议安装python环境,示例如下:
# 基础镜像请自行修改
FROM ubuntu:20.04
# 安装 openssh-server
RUN apt-get update && apt-get install -y openssh-server git && apt-get clean && mkdir -p /var/run/sshd
# 安装 python3、pip3
RUN apt-get update && apt-get install -y python3.8 python3.8-distutils curl && \
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
python3.8 get-pip.py && rm -f get-pip.py
说明:
- 若基础镜像已经包含了对应的包,请自行跳过对应安装命令。
- 这里 /home/tione/notebook 是 Notebook 默认的磁盘挂载路径,镜像中是否有该路径不影响平台中使用。
说明:
- 推荐自定义镜像统一使用云平台的软件源,以支持更快的安装速度,上述示例已包含配置方法。若要配置其他软件源,可进一步参考:云平台软件源加速软件包下载和更新。
- 若需要使用 HCC-GPU 型机型进行多机训练,推荐镜像安装 TCCL 插件以优化云平台星脉网络下的 RDMA 通信,上述示例已包含配置方法。
- 当前不支持训练镜像在 bashrc 等 bash 配置文件声明的变量。