Docker run命令-v挂载参数含义及主机用户路径配置问题咨询
问题1:-v参数后内容的具体作用
-v 参数的完整格式为 宿主路径:容器内部路径,你命令中 -v 后的 /Users/bob/myJupyter:/home/jovyan/work 各部分作用如下:
- 冒号左侧的
/Users/bob/myJupyter是 Windows宿主系统的本地文件夹路径,WSL模式的Docker会自动将Windows的用户目录映射为/Users/开头的路径,实际对应你系统里的C:\Users\bob\myJupyter文件夹 - 冒号右侧的
/home/jovyan/work是 Docker容器内部的Jupyter工作目录,是该Jupyter镜像预设的文件存储路径,你在容器Jupyter界面生成、修改的文件默认都会保存在这个路径下 - 两者绑定后会实现文件实时双向同步:你提前放到Windows本地
myJupyter文件夹里的数据集、代码可以直接在容器Jupyter中读取使用;在Jupyter中保存的文件也会自动同步到Windows本地,哪怕容器销毁也不会丢失文件。
问题2:保留/Users/bob路径的后果与修改建议
如果你直接原样运行命令,不修改该路径会出现以下问题:
- 若你的Windows系统中不存在
C:\Users\bob\myJupyter路径,要么Docker会自动创建归属于bob用户目录的空文件夹,你的dave用户没有权限访问该目录,既无法提前上传数据到对应路径,也找不到Jupyter保存到本地的文件;要么WSL模式的Docker会因为找不到匹配的宿主路径直接挂载失败,容器启动报错。
你 必须将/Users/bob替换为你自己的用户名路径/Users/dave,修改后的完整挂载参数为-v /Users/dave/myJupyter:/home/jovyan/work,建议你提前在C:\Users\dave\目录下新建好myJupyter文件夹,避免偶发的权限异常。
内容的提问来源于stack exchange,提问作者GalakTach
相关产品推荐
相关产品推荐

