Windows10 WSL环境下Docker挂载不存在的本地路径会如何
Docker绑定挂载路径异常与权限问题解答
不存在的本地挂载路径处理逻辑
你使用的是搭载WSL的Windows 10环境,Docker Desktop默认采用WSL2后端运行容器,执行docker run -p 8888:8888 -v /Users/bob/myJupyter:/home/jovyan/work bob22/data_mining1命令绑定挂载不存在的本地路径时,处理规则如下:
- Docker会在WSL发行版的根文件系统中自动创建完整的路径层级
/Users/bob/myJupyter,创建操作使用root权限执行 - 不会在Windows原生文件系统(如C:\Users\目录下)自动生成名为bob的文件夹,你输入的Linux风格绝对路径默认仅作用于Docker运行时所在的WSL Linux环境
容器内/work目录写入权限报错原因
permission denied报错由目录所有权不匹配导致:
- 自动创建的
/Users/bob/myJupyter目录所有者为root用户,默认权限为755,仅root用户有写入权限 - 你使用的
bob22/data_mining1镜像基于Jupyter官方基础镜像构建,默认容器运行用户为jovyan(UID通常为1000),无root权限,对挂载进来的root所有目录没有写入权限,因此新建文件时报错。
内容的提问来源于stack exchange,提问作者GalakTach
相关产品推荐
相关产品推荐

