云服务器内容精选

  • 制作新镜像 连接容器镜像服务。 登录容器镜像服务控制台。 选择左侧导航栏的“总览”,单击页面右上角的“登录指令”,在弹出的页面中单击复制登录指令。 图1 获取登录指令 此处生成的登录指令有效期为24小时,若需要长期有效的登录指令,请参见获取长期有效登录指令。获取了长期有效的登录指令后,在有效期内的临时登录指令仍然可以使用。 登录指令末尾的域名为镜像仓库地址,请记录该地址,后面会使用到。 在安装容器引擎的机器中执行上一步复制的登录指令。 登录成功会显示“Login Succeeded”。 拉取基础镜像或第三方镜像(此处以基础镜像举例,第三方镜像直接替换镜像地址)。 拉取ModelArts提供的公共镜像(请参考预置镜像)。 docker pull swr.cn-north-4.myhuaweicloud.com/atelier/notebook2.0-pytorch-1.4-kernel-cp37:3.3.3-release-v1-20220114 编写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任务的镜像。 构建镜像 使用docker build命令从Dockerfile构建出一个新镜像。命令参数解释如下: “-t” 指定了新的镜像地址,包括{局点信息}/{组织名称}/{镜像名称}:{版本名称},请根据实际填写。建议使用完整的swr地址,因为后续的调试和注册需要使用。 “-f ”指定了Dockerfile的文件名,根据实际填写。 最后的“ . ”指定了构建的上下文是当前目录,根据实际填写。 docker build -t swr.cn-north-4.myhuaweicloud.com/sdk-test/pytorch_1_8:v1 -f Dockerfile . 图2 构建成功
  • 创建开发环境 镜像注册成功后,即可在ModelArts控制台的Notebook页面,创建开发环境时选择该自定义镜像。 图1 创建开发环境 打开开发环境,即可看到Dockerfile中创建的conda环境pytorch_1_8。 图2 打开开发环境 单击图中的pytorch_1_8,即可创建一个ipynb文件,导入torch,可以看到安装的pytorch 1.8已经能够使用。 图3 创建一个ipynb文件 再打开一个Terminal,查看ffmpeg和gcc的版本,是Dockerfile中安装的版本。 图4 查看ffmpeg和gcc的版本
  • 使用场景和构建流程说明 用户在使用ModelArts开发环境时,经常需要对开发环境进行一些改造,如安装、升级或卸载一些包。但是某些包的安装升级需要root权限,运行中的Notebook实例中无root权限,所以在Notebook实例中安装需要root权限的软件,这一点在预置的开发环境镜像中是无法实现的。 此时,用户可以使用ModelArts提供的基础镜像或第三方的镜像来编写Dockerfile,构建出完全适合自己的镜像。进一步可以调试该镜像,确保改造后的镜像能够在ModelArts服务中正常使用。最终将镜像进行注册,用以创建新的开发环境,满足自己的业务需求。 本案例将基于ModelArts提供的PyTorch基础镜像,安装pytorch 1.8, ffmpeg 3和gcc 8,构建一个面向AI开发的新环境,并借助ma_cli(请参考ma-cli介绍)调试和注册,确保可以成功创建新的开发环境。 主要流程如下图所示: 图1 构建与调测镜像流程 本案例适用于华为云-北京四Region。 父主题: 在ECS上构建自定义镜像并在Notebook中使用
  • 新镜像调试操作 使用命令ma-cli image debug --swr-path=[OPTIONS] SWR-PATH调试镜像。 ma-cli image debug --swr-path=swr.cn-north-4.myhuaweicloud.com/sdk-test/pytorch_1_8:v2 --service=NOTEBOOK --region=cn-north-4 该命令调试镜像swr.cn-north-4.myhuaweicloud.com/sdk-test/pytorch_1_8:v2,-s参数指定该镜像提供Notebook服务。 命令执行后,首先会停止上一次调试相同镜像时已经启动的容器,再进行一些准备工作,最后运行目标镜像,启动一个新容器,并打印相关指令,帮助用户进一步调试新镜像,输出信息如下图所示。 图2 调试镜像 该命令的详细信息请参考ma-cli命令介绍中的调试镜像。