You need to enable JavaScript to run this app.
导航

构建自定义镜像

最近更新时间2024.03.19 12:05:06

首次发布时间2021.09.01 16:30:36

预置镜像无法适用于所有的用户场景,用户可以在机器学习平台的【镜像仓库】中按需构建自定义镜像。每个镜像下可以包含多个镜像版本。下文将依次介绍在机器学习平台上构建(注册)镜像的通用步骤,再针对不同场景进行举例。

相关概念
通用步骤
  1. 登录机器学习平台,单击左侧导航栏中的【镜像仓库】-【自定义镜像】进入列表页面。
  2. 单击列表页面左上方的【+ 新建镜像】进入创建页面。
  3. 在创建页面填写相关参数,具体参数如下:
参数名称参数说明

CR 命名空间

  • 需要用户手动指定将当前镜像存放火山引擎镜像仓库 CR 的某个命名空间中。必填
  • 建议优先使用标准版或其它非体验版的镜像仓库实例以获得更高的性能、更稳定的服务。

镜像名称及版本

  • 填写镜像的名称及版本。必填
  • 镜像对应 CR 中的 OCI 制品仓库。
    • 支持2~64位可见字符,只包含小写字母、数字、中划线、下划线、点(不连续),且不支持以中划线或下划线为首位或末位。
  • 镜像版本对应 CR 中某个制品仓库下的镜像版本。
    • 支持1~128位可见字符,包含字母、数字、中划线、下划线、点,且不支持以中划线或点为首位。
镜像说明- 支持上传 markdown 文件作为镜像的概览信息。选填

标签

  • 为镜像添加标签。选填
  • 支持 1~100 位可见字符。

构建方式

  • 选择构建镜像的方式。必填
    • 基于现有镜像:在某个(预置 / 自定义 / 火山引擎 / 公网)镜像的基础上安装额外的依赖项。
      • 依赖项的安装方式支持 apt、pip2、pip3、yum。
      • 支持以 “numpy==1.0.1” 形式指定依赖包的版本。对于 pip 的安装方式还支持类似 “torch-scatter -f https://data.pyg.org/whl/torch-1.11.0+cu113.html” 的方式指定安装包的来源。
    • 基于 Dockerfile:通过 Dockerfile 构建自定义镜像。
    • 基于开发机:将某个正在运行的开发机的环境保存成镜像。
      • 支持填写多个无需保存到镜像中的开发机路径。
      • 构建过程开发机必须为运行状态且新镜像的大小不得超过 40GiB。
  1. 完成上述表单的配置后,单击【提交】开始构建镜像,当状态最终转为构建完成即可在其他模块使用该镜像。
  2. 若状态为构建失败时,在操作区单击【日志】查看构建日志进行问题排查。
具体示例

基于现有镜像构建新镜像

下文介绍如何以预置镜像为基础镜像,通过安装额外的依赖项构建出新的自定义镜像。基于自定义镜像、火山引擎镜像或者公网镜像构建新镜像的操作步骤类似。

  1. 在【自定义镜像】的创建页面选择基于现有镜像预置镜像,在镜像列表中选择符合条件的预置镜像。
    • 如果以 自定义镜像 / 火山引擎镜像 / 公网镜像 作为基础镜像时,切换成对应的选项即可。
  2. 在该镜像的基础上选择不同的安装方式以及特定版本的依赖项。比如希望在基础镜像中安装 vim,则选择 apt 的安装方式,并在对应的输入框中填写 vim。如希望安装 Python3 相关的依赖包则选 pip3 并填写对应的依赖包名称及版本。
    • pip2pip3 分别对应 Python2 和 Python3 依赖项的安装方式,通常不会同时安装。
    • aptyum 分别对应 Ubuntu 和 Centos 依赖项的安装方式,通常不会同时安装。
  3. 完成基础镜像及依赖项的配置后,提交表单即可开始构建自定义镜像。
    alt

基于 Dockerfile 构建新镜像

Dockerfile 是一种用于构建镜像的文本文件,其中包含了一系列的镜像构建指令。关于 Dockerfile 的语法详见其官方文档。用户仅需在【自定义镜像】的创建页面选择 基于 Dockerfile 并按照规范编写 Dockerfile 即可触发自定义镜像的构建。以下是一个 Dockerfile 的示例:

# 配置基础镜像
FROM ubuntu:18.04 

# 安装一系列 APT 依赖项 
RUN apt-get update && apt-get install -y --no-install-recommends \ 
	python3-pip \
	vim && \
	apt-get clean && \ 
	rm -rf /var/lib/apt/lists/* 

# 安装一系列 PIP 依赖项 
RUN pip3 install\ 
	numpy==1.19.5 \
	scipy==1.5.4

# 配置时区 
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

修改基础镜像

配置基础镜像时,需在 FROM 字段后填写基础镜像的地址。

  • 若基础镜像是机器学习平台镜像仓库中的镜像,则可在【镜像仓库】列表页选择相应镜像进入详情页,在【版本列表】查看该镜像版本的地址。
    alt
  • 若基础镜像是火山引擎镜像仓库中的镜像,可在火山引擎镜像仓库中对应的【OCI制品仓库】中查看某个镜像版本的地址。
    image.png
  • 若基础镜像是 dockerhub 上的镜像,在 dockerhub 中镜像 Tags 页面即可查看镜像地址。
    image.png