【问题标题】:How to persist notebooks from Dask Jupyter notebook?如何从 Dask Jupyter 笔记本中持久化笔记本?
【发布时间】:2020-07-10 03:30:51
【问题描述】:

我正在运行 Docker 撰写文件 (docker-compose up --force-recreate) 来启动 Dask 调度程序、工作程序和 Dask Jupyter 笔记本。我添加了如下卷:

  notebook:
    image: daskdev/dask-notebook
    depends_on:
      - scheduler
      - worker
    ports:
      - "8888:8888"
    environment:
      DASK_SCHEDULER_ADDRESS: "tcp://scheduler:8786"
    volumes:
      - "~/Personal/python-workspace/notebooks:/home/jovyan/work"
      - "~/Personal/docker-volumes/tmp:/tmp"

每当我尝试在 work 文件夹下创建文件时,我都会在终端中收到带有以下日志的 HTTP 403

notebook_1   | [I 03:28:19.584 LabApp] Saving file at /Untitled.ipynb
notebook_1   | [I 03:28:35.668 LabApp] Creating new file in /work
notebook_1   | [W 03:28:35.670 LabApp] Permission denied: work/untitled.txt

我该如何解决这个问题并保留我的笔记本?

【问题讨论】:

  • 容器内的用户是什么?是否允许在/home/jovyan/work 上写字?
  • @Adiii Jupyter 服务器启动时容器内的用户为$NB_USER (jovyan)。更多关于 here.

标签: python docker docker-compose jupyter-notebook dask


【解决方案1】:

在主机上(在 docker 容器之外),这应该可以工作,并允许您避免此 Denied 错误

sudo chmod -R 777 ~/Personal/python-workspace/notebooks

但这不是修复错误的正确方法,因为daskdev/dask-notebook是基于jupyter/base-notebook,你应该参考this documentation

参考此 URL,我认为在您的 docker-compose 文件中添加这些环境变量应该有助于解决您的问题,而无需使用诸如 chmod 之类的命令:

  • CHOWN_HOME=yes
  • CHOWN_HOME_OPTS='-R'

【讨论】:

    猜你喜欢
    • 2020-01-14
    • 2019-04-11
    • 2018-09-23
    • 2020-05-17
    • 2019-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多