AI开发平台MODELARTS-在ECS上构建自定义镜像并在Notebook中使用:制作自定义镜像

时间:2024-12-24 15:39:17

制作 自定义镜像

这一节描述如何编写一个Dockerfile,并据此构建出一个新镜像在Notebook创建实例并使用。关于Dockerfile的具体编写方法,请参考官网

  1. 查询基础镜像(第三方镜像可跳过此步骤)

    ModelArts提供的公共镜像,请参考Notebook专属预置镜像列表,根据预置镜像的引擎类型在对应的章节查看镜像URL。

  2. 连接 容器镜像服务
    1. 登录容器 镜像服务 控制台。选择左侧导航栏的“总览”,单击页面右上角的“登录指令”,在弹出的页面中单击复制登录指令。
      图4 获取登录指令
      • 此处生成的登录指令有效期为24小时,如果需要长期有效的登录指令,请参见获取长期有效登录指令。获取了长期有效的登录指令后,在有效期内的临时登录指令仍然可以使用。
      • 登录指令末尾的 域名 为镜像仓库地址,请记录该地址,后面会使用到。
    2. 在安装容器引擎的机器中执行上一步复制的登录指令。登录成功会显示“Login Succeeded”。
  3. 拉取基础镜像或第三方镜像(此处以基础镜像举例,第三方镜像直接替换镜像地址)。

    拉取ModelArts提供的公共镜像(请参考预置镜像)。

    docker pull swr.cn-north-4.myhuaweicloud.com/atelier/notebook2.0-pytorch-1.4-kernel-cp37:3.3.3-release-v1-20220114
  4. 编写Dockerfile。

    vim一个Dockerfile,如果使用的基础镜像是ModelArts提供的公共镜像,Dockerfile的具体内容可参考Dockerfile文件(基础镜像为ModelArts提供)

    如果使用的基础镜像是第三方镜像(非ModelArts提供的公共镜像),Dockerfile文件中需要添加uid为1000的用户ma-user和gid为100的用户组ma-group,具体可参考Dockerfile文件(基础镜像为非ModelArts提供)

    本例的Dockerfile将基于PyTorch基础镜像安装pytorch 1.8, ffmpeg 3和gcc 8,构建一个面向AI任务的镜像。

  1. 构建镜像

    使用docker build命令从Dockerfile构建出一个新镜像。命令参数解释如下:

    • “-t” 指定了新的镜像地址,包括{局点信息}/{组织名称}/{镜像名称}:{版本名称},请根据实际填写。建议使用完整的swr地址,因为后续的调试和注册需要使用。
    • “-f ”指定了Dockerfile的文件名,根据实际填写。
    • 最后的“ . ”指定了构建的上下文是当前目录,根据实际填写。
    docker build -t swr.cn-north-4.myhuaweicloud.com/sdk-test/pytorch_1_8:v1 -f Dockerfile .
    图5 构建成功
support.huaweicloud.com/usermanual-standard-modelarts/docker-modelarts_0011-0.html