【问题标题】:Cannot create file with Jupyter Notebook running in Docker in Windows 10无法使用在 Windows 10 的 Docker 中运行的 Jupyter Notebook 创建文件
【发布时间】:2020-08-31 06:13:27
【问题描述】:

我已经在 Windows 10 版本 10.0.19041 Build 19041 中安装了 Docker Toolbox for Windows v 18.09,我正在尝试运行一个 docker 容器来运行带有 Pyspark 的 Jupiter Notebook。
我正在使用 Windows Powershell 执行 docker 命令
docker run hello-world 工作正常,因此我可以假设 Dockers 已正确安装。事实上,我已经进入 Toolbox v 18.09 才能让 hello world 开始工作。
我使用以下命令运行 pyspark 容器

docker run -it --rm -p 8888:8888 --volume=//C/Users/prith/pydev://home/jovyan/work jupyter/pyspark-notebook

来自映射到容器工作目录的 C:/Users/prith/pydev 目录。 // 是斜线是必需的,因为我正在使用 Windows。笔记本按预期显示在 http://192.168.99.100:8888 中,我可以使用令牌登录。

然后,当我尝试创建新笔记本甚至文本文件时,问题就开始了,我收到权限被拒绝错误。显然容器无法写入“某些”目录。我已使用 Windows 文件系统属性为每个人提供此特定目录的所有权限,并且还在 Adminstrtor 模式下运行 Powershell(模拟 Ubuntu sudo ..),但没有任何效果。

有趣的是,我可以写入位于容器中工作目录上方的目录,但是我无法从 Windows 访问写入该目录的文件,因为我已将本地 Windows 目录映射到 /home/jovyan/work

我想要什么?我想在容器中创建 Jupyter 笔记本并将它们保存在 Windows

我知道这一切在 Linux-Ubuntu 中都很有魅力,但不幸的是我被 Windows 10 困住了。请帮忙。

【问题讨论】:

    标签: windows powershell docker jupyter-notebook


    【解决方案1】:

    您似乎忘记将要挂载的目录添加到FILE SHARING

    请做right-click on docker icon (in system tray) -> Settings -> Resources -> FILE SHARING

    然后,添加您的本地目录。

    最后,如果还是不行,试试用--volume="C:\Users\prith\pydev":/home/joyvan/work挂载卷

    【讨论】:

    • 感谢您的建议。我没有使用 Docker for Windows,因为我的 Win10 显然不支持它。因此,我使用 Docker Toolbox for Windows,我没有更改设置的选项。但是我确实在命令中使用此选项解决了问题:--volume='/c/Users/Public/PyDev'://home/jovyan/work 请注意,在 C: 后面加上冒号会引发错误
    【解决方案2】:

    这个命令似乎有效

    docker run -it --rm -p 8888:8888 --volume='/c/Users/Public/PyDev'://home/jovyan/work jupyter/pyspark-notebook start-notebook.sh --NotebookApp.token=''
    

    【讨论】:

      猜你喜欢
      • 2020-07-28
      • 1970-01-01
      • 2019-08-15
      • 1970-01-01
      • 1970-01-01
      • 2017-03-06
      • 1970-01-01
      • 2019-06-30
      • 1970-01-01
      相关资源
      最近更新 更多