我在下面使用docker镜像:
https://hub.docker.com/r/gw000/keras-full

效果很好;但是,我想挂载本地文件夹,以便可以保存和使用本地笔记本文件。我在下面使用命令:

docker run -d -p 8888:8888 -v c:/Jupyter:/srv gw000/keras-full

该命令成功运行;但是,我无法创建新的笔记本,因为在下面出现错误消息:



我尝试了以下方法:
  • 我已授予Jupter文件夹(“每个人”用户)“完全”访问权限
  • 我已经尝试过从第一个提交的答案
  • 发出命令
  • 我已经尝试过使用普通和管理模式的Firefox和Edge浏览器

  • Docker镜像需要密码“keras”,如下例所示:
    docker run -d -p 8888:8888 -v $(pwd):/srv gw000/keras-full
    

    我无法弄清楚如何同时使用映射文件夹和密码。

    我的环境:
  • Windows 10专业版
  • Docker桌面

  • Docker日志:
    [I 10:35:10.240 NotebookApp] Writing notebook server cookie secret to /home/user/.local/share/jupyter/runtime/notebook_cookie_secret
    [W 10:35:10.844 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended.
    [I 10:35:13.007 NotebookApp] jupyter_tensorboard extension loaded.
    [I 10:35:13.009 NotebookApp] Serving notebooks from local directory: /srv
    [I 10:35:13.009 NotebookApp] 0 active kernels
    [I 10:35:13.009 NotebookApp] The Jupyter Notebook is running at:
    [I 10:35:13.009 NotebookApp] http://[all ip addresses on your system]:8888/?token=...
    [I 10:35:13.009 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
    [I 10:35:18.003 NotebookApp] 302 GET / (172.17.0.1) 0.50ms
    [I 10:35:18.015 NotebookApp] 302 GET /tree? (172.17.0.1) 0.97ms
    [I 10:35:21.563 NotebookApp] 302 POST /login?next=%2Ftree%3F (172.17.0.1) 1.40ms
    [I 10:35:26.118 NotebookApp] Creating new notebook in
    [I 10:35:26.151 NotebookApp] Writing notebook-signing key to /home/user/.local/share/jupyter/notebook_secret
    [W 10:35:26.166 NotebookApp] 403 POST /api/contents (172.17.0.1): Permission denied: Untitled.ipynb
    [W 10:35:26.166 NotebookApp] Permission denied: Untitled.ipynb
    [W 10:35:26.167 NotebookApp] 403 POST /api/contents (172.17.0.1) 49.41ms referer=http://localhost:8880/tree?
    [I 10:36:38.981 NotebookApp] 302 GET /tree (172.17.0.1) 1.66ms
    [I 10:36:42.373 NotebookApp] 302 POST /login?next=%2Ftree (172.17.0.1) 1.12ms
    [I 10:36:45.459 NotebookApp] Creating new notebook in
    [W 10:36:45.475 NotebookApp] 403 POST /api/contents (172.17.0.1): Permission denied: Untitled.ipynb
    [W 10:36:45.476 NotebookApp] Permission denied: Untitled.ipynb
    [W 10:36:45.476 NotebookApp] 403 POST /api/contents (172.17.0.1) 18.42ms referer=http://localhost:8880/tree
    [I 10:37:19.390 NotebookApp] Creating new notebook in
    [W 10:37:19.410 NotebookApp] 403 POST /api/contents (172.17.0.1): Permission denied: Untitled.ipynb
    [W 10:37:19.410 NotebookApp] Permission denied: Untitled.ipynb
    [W 10:37:19.411 NotebookApp] 403 POST /api/contents (172.17.0.1) 21.50ms referer=http://localhost:8880/tree
    

    最佳答案

    第一:

    docker run -d -p 8888:8888 -v $(pwd):/srv gw000/keras-full
    

    上面的命令是使用Linux命令“ pwd ”将当前目录挂载到容器内的文件夹“ / srv ”中(例如,在打印当前目录中)。与更改密码无关。

    其次:

    在我看来,您正在使用“ c:/ Jupyter ”文件夹将其装入容器文件夹。您可能需要以管理员身份运行Docker,或者可以从不需要管理员权限的其他驱动器进行挂载,例如d:/。
    因此,您可以尝试:
    docker run -d -p 8888:8888 -v d:/Jupyter:/srv gw000/keras-full
    

    https://hub.docker.com/r/gw000/keras-full/dockerfile上看到 Dockerfile 后,我认为您的Docker正在将 / srv 挂载为“ root ”用户,并且该服务正在用户“ user ”下运行,因此您必须通过exec来执行该容器并运行docker exec -it <name_or_id_of_container> bash

    关于docker - 如何使用Jupyter Notebook的Docker镜像安装本地文件夹?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56037956/

    10-16 18:28
    查看更多