You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Docker启动Jupyter Notebook时目录挂载失效无法访问基线代码

问题排查与解决步骤

1. 容器内找不到/path_to_baseline目录问题

根因

你克隆的基线代码仅存储在宿主机的/path_to_baseline路径下,Docker构建镜像时只会读取构建上下文(本次构建的上下文只有/path_to_baseline/docker目录)内的文件,不会自动把宿主机其他目录的内容打包到镜像中,因此默认启动的容器里不存在该路径。

解决方法

启动容器时额外添加基线代码目录的挂载参数,将宿主机的基线代码目录直接映射到容器内:
在原nvidia-docker run命令中补充-v /path_to_baseline:/path_to_baseline参数,同时删除原命令中重复的-ti参数避免冲突,调整后的完整命令如下:

NV_GPU=0 nvidia-docker run -it -v /local_data:/local_data -v /path_to_baseline:/path_to_baseline --ipc=host --name sn7_gpu0 sn7_baseline_image

2. /local_data挂载未生效问题

根因

-v 宿主机路径:容器内路径属于Docker的绑定挂载(Bind Mount),不是Docker官方的命名卷类型,因此不会在/var/lib/docker/volumes目录下生成对应存储文件,你查这个路径本身就是错误的。

验证与排查方案

  • 首先进入容器后直接执行ls /local_data,如果能看到你宿主机/local_data目录下存储的数据集压缩包、解压后的文件,就代表挂载已经正常生效,无需额外处理。
  • 如果执行ls /local_data返回为空,按以下顺序排查:
    • 确认宿主机/local_data是真实存在的绝对路径,不要使用相对路径
    • 确认你执行Docker run命令的系统账号对/local_data目录有可读权限,权限不足会导致挂载后目录为空
    • 如果你使用的是Windows/macOS版Docker,需要先在Docker设置的「文件共享」面板中把/local_data所在的磁盘分区添加到共享列表,重启Docker后再重新启动容器。

操作验证

按上述方案调整后重新启动容器,即可正常进入/path_to_baseline目录执行Jupyter启动命令,访问服务也不会出现路径报错。

内容的提问来源于stack exchange,提问作者Usman hussain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 00:06:00