在 DataLeap Notebook 任务中,可通过使用镜像的方式,来满足任务中对自定义第三方包的依赖需求。本文将指导您基于 DataLeap Notebook 的基础镜像快速构建自定义镜像。
火山引擎镜像 OCI 制品的默认仓库类型必须要选择公有类型。
在您的 Docker 环境中,新建一个 Dockerfile 文件,并基于 Dataleap 提供的基础 Notebook 镜像,按需安装自己需要的镜像。
下文以安装 sshpass 为例,Dockerfile 文件内容如下:
# 基于 dataleap-cn-beijing.cr.volces.com/studio/notebook_runtime:online 基础镜像进行构建 FROM dataleap-cn-beijing.cr.volces.com/studio/notebook_runtime:online # 备份原软件源配置文件并替换为相应的镜像源,如阿里云镜像源 RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \ echo "deb http://mirrors.aliyun.com/debian/ bullseye main non-free contrib" > /etc/apt/sources.list && \ echo "deb-src http://mirrors.aliyun.com/debian/ bullseye main non-free contrib" >> /etc/apt/sources.list && \ echo "deb http://mirrors.aliyun.com/debian-security/ bullseye-security main" >> /etc/apt/sources.list && \ echo "deb-src http://mirrors.aliyun.com/debian-security/ bullseye-security main" >> /etc/apt/sources.list && \ echo "deb http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib" >> /etc/apt/sources.list && \ echo "deb-src http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib" >> /etc/apt/sources.list && \ echo "deb http://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib" >> /etc/apt/sources.list && \ echo "deb-src http://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib" >> /etc/apt/sources.list # 更新软件包列表并安装 sshpass RUN apt-get update && \ apt-get install -y sshpass && \ # 清理缓存以减小镜像体积 apt-get clean && \ rm -rf /var/lib/apt/lists/*
编辑完成后,将符合场景的基础镜像 Dockerfile 的内容保存为 Dockerfile 文件。
启动 Docker,并在 Dockerfile 所在目录下,执行以下命令进行构建新镜像:
说明
以下命令行中 your-new-image-name 的名称,您可替换成自己期望的新镜像名称。
docker build -t ${your-new-image-name} .
将本地构建好的镜像上传到火山引擎镜像仓库,具体上传操作可参考:https://www.volcengine.com/docs/6420/68645?lang=zh
注意
火山引擎镜像实例中 OCI 制品的默认仓库类型必须要选择公有类型。
Dockerfile 文件上传完成后,获取对应的自定义镜像地址,并将其填写于 DataLeap Notebook 任务的基础配置中,启动 Kernel 后,便可开始 Notebook 任务编辑。
更多 Notebook 任务操作详见Notebook。