应选择Docker Compose挂载本地Miniconda环境:通过映射宿主机/miniconda3/envs/qoder-env到容器/opt/conda,确保PyTorch等包版本与CUDA驱动精准匹配,并将内核路径设为/opt/conda/share/jupyter/kernels/python311,启动后可在QoderWake后台验证python311内核是否就绪。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望在QoderWake平台中集成Jupyter Notebook以支持交互式数据分析与模型开发,则可能面临内核识别失败、工作目录不可达、Python环境未正确挂载等问题。以下是完成该集成的多种配置路径:
一、通过Docker Compose挂载本地Miniconda环境
此方法将宿主机预配置的Miniconda-Python3.11镜像直接注入QoderWake容器,确保PyTorch、NumPy等关键包版本与CUDA驱动完全匹配,避免conda-forge与pytorch-channel间的依赖冲突。
1、在QoderWake项目根目录下创建docker-compose.yml文件,写入以下内容:
2、在services.jupyter.environment块中指定JUPYTER_PATH为/opt/conda/share/jupyter。
3、在volumes字段中映射宿主机的/miniconda3/envs/qoder-env:/opt/conda,确保内核json文件位于/opt/conda/share/jupyter/kernels/python311/目录下。
4、执行docker-compose up -d启动服务,随后访问QoderWake管理后台的Notebook模块验证内核列表是否包含python311。
二、使用QoderWake内置Kernel Manager动态注册
此方法不依赖外部容器,而是利用QoderWake 2.8+版本提供的REST API接口,在运行时向其Kernel Registry提交自定义内核描述,适用于多租户隔离场景下为不同团队分配独立Python环境。
1、在QoderWake控制台中启用“Advanced Kernel Registration”开关。
2、准备kernel.json文件,内容包含argv字段:["/opt/qoder/kernels/py311/bin/python", "-m", "ipykernel_launcher", "-f", "{connection_file}"]。
3、使用curl命令向https://qoderwake-host/api/kernels/register提交POST请求,Header中携带X-API-Key:admin-token-9a7f。
4、调用GET /api/kernels/list确认返回结果中存在name为qoder-py311的条目,且status为active。
三、基于QoderWake插件系统注入IPython Kernel
此方法通过编写轻量级QoderWake插件,在平台启动阶段自动探测并加载指定路径下的Python解释器,适用于已部署QoderWake但无法修改Docker配置的生产环境。
1、创建插件目录plugins/qoder-notebook-kernel/,并在其中放置kernel.py文件。
2、在kernel.py中实现get_kernel_spec()函数,返回包含display_name、language和argv的字典,argv值指向宿主机上已安装的python3.11可执行文件。
3、将插件目录打包为qoder-notebook-kernel.zip,并通过QoderWake插件管理界面上传启用。
4、重启QoderWake服务进程,检查日志中是否输出Registered kernel: qoder-py311 (Python 3.11.9)。
四、配置Jupyter Server Proxy反向代理链路
此方法用于QoderWake部署在Nginx反向代理之后的场景,解决WebSocket连接被中断、静态资源404、/api/sessions请求返回403等问题,确保Notebook前端与后端通信完整可靠。
1、在Nginx配置中添加location /jupyter/ { proxy_pass http://qoderwake:8080/jupyter/; }。
2、在QoderWake配置文件qoder-config.yaml中设置jupyter.base_url: "/jupyter"。
3、执行qoder-cli jupyter configure --prefix /jupyter --allow-root --no-browser。
4、验证浏览器访问https://your-domain.com/jupyter/tree时能正常加载文件浏览器且单元格执行无报错。


















