我已在Windows 10版本10.0.19041内部版本19041中安装了适用于Windows v 18.09的Docker Toolbox,并试图运行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。
答案 0 :(得分:1)
您似乎忘记了将要尝试挂载的目录添加到文件共享。
请执行right-click on docker icon (in system tray)
-> Settings
-> Resources
-> FILE SHARING
然后,添加您的本地目录。
最后,如果它不起作用,请尝试使用--volume="C:\Users\prith\pydev":/home/joyvan/work
答案 1 :(得分:0)
此命令似乎有效
docker run -it --rm -p 8888:8888 --volume='/c/Users/Public/PyDev'://home/jovyan/work jupyter/pyspark-notebook start-notebook.sh --NotebookApp.token=''