创建Notebook实例(新版页面)
为了提升创建Notebook实例的效率,ModelArts对创建页面进行了一系列的易用性改进。现推出新版页面,旨在简化操作流程并增强界面的直观性。
在开始进行模型开发前,您需要创建Notebook实例,并打开Notebook进行编码。
创建Notebook实例有以下两种方式:
- 通过ModelArts管理控制台进行创建。本文提供了新版页面的操作指导,旧版页面的操作指导请参见创建Notebook实例(旧版页面)。
- 通过ModelArts提供的API接口进行创建,详细操作请参见创建Notebook实例。
约束限制
- 在创建Notebook时,默认会开启自动停止功能,在指定时间内停止运行Notebook,避免资源浪费。
- 只有处于“运行中”状态的Notebook,才可以执行打开、停止操作。
- 一个账户最多创建10个Notebook。
- Snt9B23资源池或D310P-300资源池单卡的实例规格不支持创建挂载EVS(“存储配置”选择“云硬盘EVS”)的Notebook实例。
- Notebook不支持开放端口对外提供服务。
注意事项
Notebook定位为调测环境,虽然提供了公网下载能力,但使用的公网代理是局点的公共代理。因此,不建议在Notebook中下载大文件,尤其是超过10GB的文件。此外,Notebook提供的公网访问带宽有限,仅能保证网络连通性,不保证下载速度。
计费说明
创建Notebook实例
- 登录ModelArts管理控制台,在左侧导航栏中选择“权限管理”,检查是否配置了访问授权。如果未配置,请先配置访问授权。参考使用委托授权完成操作。
图1 查看委托配置信息
- 登录ModelArts管理控制台,在左侧导航栏按需选择以下操作。
- 新版:选择,进入“Notebook”页面。
- 旧版:选择,进入“Notebook”页面。
- 单击右上角“创建Notebook”,进入“创建Notebook”页面,参照如下参数说明配置相关信息。
表1 创建Notebook参数说明 参数名称
说明
基础信息
名称
Notebook的名称。系统会自动生成一个名称,您可以根据业务需求重新命名,命名规则:只能包含数字、大小写字母、下划线和中划线,长度不能超过128位且不能为空。
添加描述
单击“添加描述”,可以对Notebook进行自定义描述,长度不能超过512位。
标签
如果您需要使用同一标签标识多种云资源,即所有服务均可在标签输入框下拉选择同一标签,建议在TMS中创建预定义标签,具体操作,请参见创建预定义标签。
单击“添加标签”,按需输入或选择标签的键,输入标签值。最多可添加20个标签。
添加标签后,您可以在“Notebook”页面或者Notebook实例详情页查看标签内容,也可以按需修改、增加或删除标签。具体操作,请参见编辑标签。
说明:可以在标签输入框下拉选择TMS预定义标签,也可以自己输入自定义标签。预定义标签对所有支持标签功能的服务资源可见。租户自定义标签只对自己服务可见。
自动停止
默认开启,当Notebook实例运行时开始计时,运行时间超出您预设的时长时,将自动停止运行Notebook实例。
“停止方式”支持“定时停止”。开启定时停止功能后,该Notebook实例将在运行时长超出您所选择的时长后,自动停止。支持选择“1小时”、“2小时”、“4小时”、“6小时”或“自定义”几种模式。选择“自定义”模式时,可指定1~72小时范围内任意整数。注意:出于对用户任务进度的保护,在您设置的自动停止时间到达后,Notebook不会立即自动停止,可能会有2-5分钟的延迟,方便您进行续约。
环境配置
选择镜像
按需选择预置镜像或自定义镜像,然后单击
图标,在“选择镜像”页面,选择目标镜像,单击“确定”。- 预置镜像:即预置在ModelArts内部的AI引擎。
- 自定义镜像:用户创建的自定义镜像。您可以任选以下方式制作自定义镜像。
- 将基于预置镜像创建的实例保存下来,作为自定义镜像使用,详情请参见保存Notebook实例。
- 基于公共镜像或第三方镜像制作自定义镜像。制作自定义镜像需要遵循镜像规范,构建完成后需要在ModelArts“镜像管理”页面注册,才能在Notebook中使用,详情请参见Notebook的自定义镜像制作方法。
一个镜像对应支持一种AI引擎,创建Notebook实例时选择好了对应AI引擎的镜像。用户可以根据需要选择镜像。在右侧搜索框中输入镜像名称关键字,可快速查找镜像。
Notebook运行停止后,可以在同一个Notebook实例中变更镜像。具体操作,请参见更新Notebook实例。
JupyterLab版本
ModelArts Notebook支持以下两个版本的JupyterLab,默认为JupyterLab 4版本。
- JupyterLab 4:在用户体验、功能完善和性能提升方面均有显著改进。关于JupyterLab 4版本的详细说明,请参见JupyterLab 4版本更新说明。
- JupyterLab 3:将于2026年4月正式下线,建议您使用JupyterLab 4版本。
资源配置
资源池类型
支持公共资源池和专属资源池。专属资源池支持CPU、NPU和GPU异构资源池混布能力,例如当节点规格支持GPU和CPU时,“实例规格”可以选择GPU或CPU。
- “公共资源池”:无需单独购买,即开即用,按需付费,即按您的Notebook实例运行时长进行收费。
- “专属资源池”:在“资源池”区域,单击“选择资源池”,在“选择专属资源池”页面按实际情况选择物理资源池或逻辑子池,单击“确定”。如果没有专属资源,需要单独购买并创建。具体操作,请参见创建专属资源池。
说明:如果您购买的专属池是单节点的Tnt004规格:GPU: 1*tnt004 | CPU: 8 核 32GiB (modelarts.vm.gpu._tnt004u8),使用该集群创建Notebook实例时,Tnt004卡空闲但是规格显示售罄或者创建失败显示资源不足时,请联系技术支撑。
实例规格
系统会默认选择一个实例规格,您可以单击
图标进行修改,在“选择公共资源池”对话框,按需选择CPU、NPU或GPU规格,单击“确定”。规格类型
支持预置规格和自定义规格。
仅“资源池类型”选择“专属资源池”,且节点池规格为GPU、CPU或者异构资源池(节点池规格为CPU+CPU、GPU+CPU等)时,支持自定义规格。公共资源池和NPU类型的专属资源池不支持自定义规格。
说明:当异构资源池有NPU节点时,仅NPU节点不支持自定义规格,其他节点可支持自定义规格。
- 预置规格:ModelArts预置的实例规格,您可以按需选择实例规格下拉框中的规格。
- 自定义规格:请根据资源池内节点的情况,自定义GPU/CPU和内存的规格。
您可以在ModelArts管理控制台的或者页面查看资源池节点详情。
自定义规格取值说明如下:
- GPU(卡)
使用GPU虚拟化功能,需满足以下条件。关于使用GPU虚拟化的约束限制,请参见使用GPU虚拟化。
- 节点为H20机型。
查看机型:您可以在ModelArts管理控制台的或者页面,单击资源池名称,在“节点”页签查看实例规格中是否存在“h20”,如果存在,表示该节点为H20机型。
图2 H20机型
- AI套件(NV GPU)插件版本为2.12.0。查看或升级AI套件(NV GPU)插件版本,请参见AI套件(NV GPU)。
- 已安装Volcano调度器(Volcano Scheduler)。关于如何安装Volcano调度器,请参见Volcano调度器(Volcano Scheduler)。
取值说明:- 当取值<1时,步长为0.1,即取值范围为[0.0,0.9]。
- 当取值≥1时,步长为1,即取值为整数。
- 节点为H20机型。
- CPU(vCPUs)
- 内存(MiB)
- GPU(卡)
节点亲和性调度
仅“资源池类型”选择“专属资源池”时,支持设置此参数。
通过节点亲和性,可以确保Pod被调度到满足特定条件的节点上,从而实现更细粒度的资源管理和优化。ModelArts支持精细控制Pod的部署策略:严格部署(强亲和)、尽量部署(弱亲和)、禁止部署(强反亲和)、避免部署(弱反亲和)。
选中“节点亲和性调度”,在“亲和调度策略”对话框,按需选择亲和类型、强度和节点,单击“确定”。- “亲和类型”选择“节点亲和”,“强度”选择“弱”:尽量将Pod调度到指定节点,不保证成功。
- “亲和类型”选择“节点亲和”,“强度”选择“强”:严格将Pod调度到指定节点,否则不执行调度。
- “亲和类型”选择“节点反亲和”,“强度”选择“弱”:避免将Pod调度到指定节点,不保证成功。
- “亲和类型”选择“节点反亲和”,“强度”选择“强”:禁止将Pod调度到指定节点,否则不执行调度。选择节点时,不支持全部勾选,需要至少保留1个可用节点,否则无法执行调度策略。
存储配置
存储类型
包括“云硬盘 EVS”、“并行文件系统 PFS”、“对象存储服务 OBS”、“弹性文件服务 SFS”。请根据界面实际情况和需要选择。关于存储类型的介绍,请参见Notebook选择存储说明。
说明:“对象存储服务 OBS”、“并行文件系统 PFS”是白名单功能,如果有试用需求,请提工单申请权限。
- 选择“云硬盘 EVS”作为存储位置。
根据实际使用量设置磁盘规格。磁盘规格默认5GB。磁盘规格的最大值请以实际界面显示为准。
从Notebook实例创建成功开始,直至实例删除成功,磁盘每GB按照规定费用收费。
- 选择“弹性文件服务 SFS”作为存储位置。仅专属资源池支持,并需要在专属资源池对应的网络打通VPC才能生效,具体操作请参见ModelArts网络。
说明:
如果需要设置SFS Turbo的文件夹权限,请参考权限管理文档配置。
- “弹性文件服务”:选择已创建的SFS Turbo(在弹性文件服务控制台创建SFS Turbo)。
- “云上挂载路径”:默认为/home/ma-user/work/。
- “子目录挂载”:选择SFS Turbo的存储位置。
- “挂载方式”:当用户配置了文件夹控制权限,则显示此参数。根据SFS Turbo存储位置的权限显示“读写”或“只读”。
- 选择“对象存储服务 OBS”或“并行文件系统 PFS”作为存储位置。
在“存储位置”下方单击
图标,在“存储配置”对话框,选择用于存储Notebook数据的OBS路径,单击“确定”。如果想直接使用已有的文件或数据,可将数据提前上传至对应的OBS路径下。“存储位置”不能设置为OBS桶的根目录,需设置为对应OBS桶下的具体目录。
“云硬盘 EVS”、“弹性文件服务 SFS”的存储路径挂载在/home/ma-user/work目录下。
Notebook实例运行中,可以通过动态挂载OBS并行文件系统操作来增加数据存储路径。
停止或重启Notebook实例时,存储的内容会被保留,不丢失。
删除Notebook实例时,EVS存储会一起释放,存储的内容不保留。SFS可以重新挂载到新的Notebook,可以保留数据。
扩展存储
“扩展存储”功能是白名单功能,如果有试用需求,请提工单申请权限。
- 子目录挂载:单击
图标,在“存储配置”对话框,按需选择目录,单击“确定”。 - 云上挂载路径:按需输入挂载路径。
如果有多个数据存储路径,可以按需单击“添加扩展存储PFS配置”、“添加扩展存储OBS配置”或“添加扩展存储SFS配置”,增加指定的存储挂载目录。
约束限制:
- 每种存储类型最多支持挂载5个。
- 扩展存储挂载目录不允许重复,不允许挂载到黑名单目录,允许嵌套挂载。不允许挂载的黑名单目录为以下前缀匹配的目录:
/data/、/cache/、/dev/、/etc/、/bin/、/lib/、/sbin/、/modelarts/、/train-worker1-log/、/var/、/resource_info/、/usr/、/sys/、/run/、/tmp/、/infer/、/opt/
添加扩展存储后,可进入Notebook实例详情页,单击“存储配置 > 扩展存储”,查看或编辑扩展存储信息。在存储个数未达到最大个数时,也可以单击“添加扩展存储”。
认证信息
凭据
当“存储类型”选择“对象存储服务OBS”或“并行文件系统PFS”时,需要设置此参数。
选择已有的凭据或单击右侧的“创建凭据”,跳转至数据加密控制台创建凭据,凭据键/值填写用户的AK、SK信息
更多配置
SSH远程开发
开启此功能后,用户可以在本地开发环境中远程接入Notebook实例的开发环境。
实例在停止状态时,用户可以在Notebook详情页中更新SSH的配置信息。
开启此功能的实例中会预置VS Code插件(python、jupyter等)以及VS Code Server包,会占用约1G左右的持久化存储空间。
密钥对
开启“SSH远程开发”功能后,需要设置此参数。
您可以选择已有密钥对,也可以单击密钥对右侧的“创建密钥对”,跳转到数据加密控制台,在页面,单击“创建密钥对”。
创建完Notebook后,可以在Notebook详情页中修改密钥对。
注意:创建好的密钥对,请下载并妥善保存,使用本地IDE远程连接云上Notebook开发环境时,需要用到密钥对进行鉴权认证。
配置网络
开启后,可配置VPC相关信息使该Notebook实例接入网络。配置网络是白名单功能,如果有试用需求,请提工单申请权限。
开启此功能后,实例能够挂载在用户的VPC下,实现多网络平面接入。
使用此功能前,您需要参考创建IAM用户并授权使用ModelArts配置VPC细粒度访问授权。如果您有“VPC Administrator”权限,则无需配置。
- 虚拟私有云:从下拉菜单中选择已有的VPC,或根据需求单击“新建虚拟私有云”,在“创建虚拟私有云”面板配置相关信息,单击“确定”,在下拉菜单中选择新建的VPC。
- 子网:选择VPC后此处会显示默认的子网。您也可以从下拉菜单中选择已有的子网,或根据需求单击“新建子网”,在“新建子网”面板配置相关信息,单击“确定”,在下拉菜单中选择新建的子网。
- 安全组:选择已有的安全组,或单击“新建安全组”,在“使用预设规则创建安全组”面板配置相关信息,单击“确定”,在下拉菜单中选择新建的安全组。
指定运行用户
在启动Notebook实例时,ModelArts支持以下两种运行用户配置。不同资源配置支持的运行用户配置可能不同,请以实际环境为准。
- ma-user/ma-group:Notebook公共镜像默认的非特权用户配置(安全模式)。使用时需满足以下条件:
- 用户身份:ma-user(UID: 1000)
- 用户组:ma-group(GID: 100)
注意:如果使用自定义镜像,需提前在镜像中预置上述用户和用户组,否则容器启动时可能因权限不足导致服务异常。关于添加指定的用户和用户组的具体操作,请参见Dockerfile文件(基础镜像为非ModelArts提供)。
- root/root:以最高权限运行Notebook,适用于需要访问系统级资源的场景,但需注意潜在的安全风险。选择root/root时,系统将强制绑定以下用户和用户组。
- 用户身份:root(UID: 0)
- 用户组:root(GID: 0)
注意:不允许修改root的UID/GID或所属用户组,否则可能引发容器权限冲突或安全漏洞。
- 参数填写完成后,页面右侧会显示配置概要信息,页面下方会显示配置费用,请确认无误后,单击“立即创建”。
实际扣费请以账单为准。进入Notebook列表,正在创建中的Notebook状态为“创建中”,创建过程需要几分钟,请耐心等待。当Notebook状态变为“运行中”时,表示Notebook已创建并启动完成。
如果创建或使用Notebook过程中出现问题,您可以参考故障排除和常见问题进行解决。
图3 Notebook启动成功
- 在Notebook列表,单击实例名称,进入实例详情页,查看Notebook实例配置信息。
图4 查看Notebook实例详情
“SSH远程开发”功能开启时,当Notebook实例在停止状态时,在“认证”右侧单击
图标,用户可以更新密钥对。关于如何开启SSH远程开发,请参见配置Notebook SSH远程连接。图5 更新密钥对
单击“存储配置”页签的“添加数据存储”,可以挂载OBS并行文件系统,方便读取数据,具体操作参见动态挂载OBS并行文件系统。
如果存储使用的是云硬盘EVS,单击存储容量右侧的“扩容”,可以动态扩充云硬盘EVS的容量,具体操作参见动态扩充云硬盘EVS容量。
打开Notebook实例
针对创建好的Notebook实例(即状态为“运行中”的实例),可以打开Notebook并在开发环境中启动编码。
pytorch、tensorflow、mindspore、tensorflow-mindspore、cylp-cbcpy、rlstudio-ray、mindquantum-mindspore镜像支持以下2种方式访问:
- 在线JupyterLab访问,具体参见通过JupyterLab在线使用Notebook实例。
- 本地IDE使用PyCharm工具,远程连接访问,具体参见通过PyCharm远程使用Notebook实例。
- 本地IDE使用VS Code工具,远程连接访问,具体参见通过VS Code远程使用Notebook实例。
- 本地IDE使用SSH工具,远程连接访问,具体参见通过SSH工具远程使用Notebook。
ModelArts提供的Notebook实例默认是以ma-user启动。用户进入实例后,工作目录默认是/home/ma-user/work。
专属池的部分Notebook实例以root用户身份启动。具体说明如下:
- 当以root用户身份登录终端时,系统会自动执行source /home/ma-user/.bashrc命令,以同步ma-user用户的环境变量。如果需要禁用此功能,可以通过在自定义镜像中设置环境变量export DISABLE_MA_USER_BASHRC=true,即可阻止加载/home/ma-user/.bashrc文件。
- 以root用户启动的实例,仅支持使用root用户进行SSH远程连接。在Notebook实例详情页可以查看SSH远程开发地址。
图7 使用root用户进行SSH远程连接
JupyterLab 4版本更新说明
JupyterLab 4版本在用户体验、功能完善和性能提升方面均有显著改进,以下是该版本的主要更新内容。关于JupyterLab 4版本的更多功能信息,请参见JupyterLab 4官方文档。
|
功能模块 |
功能描述 |
|---|---|
|
工作区(Workspaces)特性 |
支持多个工作区,您可以在不同的工作区中组织和管理不同的项目和文件,提升项目管理效率。 |
|
新增Launcher创建工具栏 |
添加新的工具栏,提供了更多的功能访问方式,使操作更加便捷。 |
|
主题框架优化 |
改进主题框架,增强主题的灵活性和兼容性。您可以根据需求进行个性化的界面调整。 |
|
设置界面优化 |
优化设置界面的用户体验,使配置更加直观和易于使用。 |
|
性能优化和调试功能增强 |
对系统性能进行全面优化,调试功能也得到增强,提升开发体验。 |
|
代码编辑器增强 |
对代码编辑器进行改进,增加更多功能和性能优化,提升代码编写和编辑的体验。 |
|
搜索功能增强 |
增强搜索功能,您可以更快速、更准确地查找所需内容。 |
|
性能增强 |
整体性能得到提升,系统的响应速度和稳定性都有显著提高。 |
|
支持自定义CSS样式表 |
支持自定义CSS样式表,以便调整界面外观,满足个性化需求。 |
|
Markdown支持图表 |
在Markdown文档中支持图表功能,使图文并茂的文档编写变得更加方便。 |
|
虚拟滚动条 |
引入虚拟滚动条,改善大文件或大量内容的滚动体验。 |
|
Workspace UI |
改进工作区用户界面,提供了更好的可视化效果和操作体验,增强界面友好性。 |
|
文件访问记录 |
支持查看最近打开和关闭文件,便于快速访问常用文件,提升工作效率。 |
|
键盘快捷键改进 |
改进键盘快捷键,提高操作的效率和便捷性。 |
Notebook容器挂载目录说明
创建Notebook实例,存储选择EVS时,Notebook会使用/home/ma-user/work目录作为用户的工作空间持久化存储。
存放在work目录的内容,在实例停止、重新启动后依然保留,其他目录下的内容不会保留,使用开发环境时建议将需要持久化的数据放在/home/ma-user/work目录。
更多Notebook实例的目录挂载情况(以下挂载点在保存镜像的时候不会保存)如表3所示。
Notebook选择存储说明
不同存储的实现方式都不同,在性能、易用性、成本的权衡中可以有不同的选择,没有一个存储可以覆盖所有场景,了解下云上开发环境中各种存储使用场景说明,更能提高使用效率。
|
存储类型 |
建议使用场景 |
优点 |
缺点 |
|---|---|---|---|
|
云硬盘EVS |
比较适合只在开发环境中做数据、算法探索,性能较好。 |
块存储SSD,可以理解为一个磁盘,整体IO性能比NFS要好,可以动态扩充,最大可以到4096GB。 云硬盘EVS作为持久化存储默认挂载在/home/ma-user/work目录下,该目录下的内容在实例停止后会被保留,存储支持在线按需扩容。 |
只能在单个开发环境中使用 。 |
|
并行文件系统PFS |
说明:
适合直接使用PFS桶作为持久化存储进行AI开发和探索,使用场景如下。
|
PFS是一种经过优化的高性能对象存储文件系统,存储成本低,吞吐量大,能够快速处理高性能计算(HPC)工作负载。在需要使用对象存储服务场景下,推荐使用PFS挂载。
说明:
建议上传时按照128MB或者64MB打包或者切分,使用时边下载边解压后在本地存储读取,以获取更好的读写与吞吐性能。 |
小文件频繁读写性能较差,例如直接作为存储用于模型重型训练,大文件解压等场景慎用。
说明:
PFS挂载需要用户对当前桶授权给ModelArts完整读写权限,Notebook删除后,此权限策略不会被删除。 |
|
对象存储服务OBS |
说明:
在开发环境中做大规模的数据上传下载时,可以通过OBS桶做中转。 |
存储成本低,吞吐量大,但是小文件读写较弱。建议上传时按照128MB或者64MB打包或者切分,使用时边下载边解压后在本地读取。 |
对象存储语义,和Posix语义有区别,需要进一步理解。 |
|
弹性文件服务SFS |
目前只支持在专属资源池中使用;针对探索、实验等非正式生产场景,建议使用这种。开发环境和训练环境可以同时挂载一块SFS存储,省去了每次训练作业下载数据的要求,一般来说重IO读写模型,超过32卡的大规模训练不适合。 |
实现为NFS,可以在多个开发环境、开发环境和训练之间共享,如果不需要重型分布式训练作业,特别是启动训练作业时,不需要额外再对数据进行下载,这种存储便利性可以作为首选。 |
性能比EVS云硬盘块存储低。 |
|
OceanStor Pacific存储(SFS容量型2.0) |
目前只支持在天工资源池中使用。 适合直接使用SFS容量型2.0提供的文件系统作为训练作业所需的存储进行AI模型的训练和探索。同时提供OBS接口,支持从云外导入训练数据。 |
提供高性能文件客户端,满足重型训练作业中对存储高带宽诉求,同时提供OBS访问功能,同一份训练数据通过OBS接口导入到存储之后不需要再进相关转化,即可支持模型训练。 |
提供对象存储语义,和Posix语义有区别,需要进一步理解。 |
|
本地存储 |
重型训练作业首选 |
运行所在虚拟机或者裸金属机器上自带的SSD高性能存储,文件读写的吞吐量大,建议对于重型训练作业先将数据准备到对应目录再启动训练。 默认在容器/cache目录下进行挂载,/cache目录可用空间请参考开发环境中不同Notebook规格资源“/cache”目录的大小。 |
存储生命周期和容器生命周期绑定,每次训练都要下载数据。 |
常见问题
- 在开发环境中如何使用云硬盘EVS块存储?
例如,在创建Notebook实例时选择云硬盘EVS存储小容量,Notebook运行过程中如果发现存储容量不够,可以扩容,请参考动态扩充云硬盘EVS容量。
- 在开发环境中如何使用OBS并行文件系统?
例如,在Notebook中训练时,可直接使用挂载至Notebook容器中的数据集,在运行过程中可以动态挂载OBS并行文件系统。
- 使用JupyterLab 4版本时启动出现问题,如何切换回JupyterLab 3版本?
在Notebook实例列表的“操作”列,单击目标实例对应的“启动”,在弹出的对话框中,选择JupyterLab 3版本,单击“确定”后即可启动JupyterLab 3版本。
- 可以在一个项目中同时使用JupyterLab 3和JupyterLab 4版本吗?
不建议在同一个项目中同时使用两个版本。每个JupyterLab实例独立运行,因此需要为每个版本分别创建实例。如果您希望尝试不同版本,可以在不同的容器或环境中分别启动它们,但请注意以下几点:
- 不同版本的配置文件和数据路径可能不同,需确保数据和配置的独立性。
- 同时运行多个版本可能会导致端口冲突或其他资源竞争问题。
- 已有Notebook实例为JupyterLab 3版本,怎么升级至JupyterLab 4版本?
您可以任选以下方式升级至JupyterLab 4版本。具体操作,请参见升级JupyterLab版本。
- 方式一:停止Notebook实例并升级JupyterLab版本
- 方式二:保存Notebook实例并升级JupyterLab版本
- Notebook是否支持使用gdb工具?
Notebook目前不支持gdb工具的使用。gdb工具的运行依赖开启特权容器(privileged container)的Docker,而开发环境的容器出于安全考虑,无法开启特权容器,因此不支持在Notebook中使用gdb工具。