【问题标题】:Persistent Jupyter Notebooks and Docker?持久的 Jupyter Notebooks 和 Docker?
【发布时间】:2020-06-08 16:24:18
【问题描述】:

我想在我的 Web 应用项目中使用 Jupyter Notebook,主要用于编写脚本和试验代码和数据。我也在为我的项目使用 docker。这意味着当我重建一个容器时,我会丢失我的 Jupyter 笔记本。我想保留这些笔记本。

在使用 Docker 时创建持久 Jupyter Notebook 的最佳方法是什么?

这里有最佳实践吗?我是否要创建一个虚拟环境并在 Docker 之外单独运行我的笔记本,以免它们被删除?

【问题讨论】:

  • 我不确定 Jupyter 笔记本内部是如何工作的,但也许您可以使用 docker bind mounts 将主机文件夹安装到您的 docker 容器中,或者使用其他安装策略在容器重新启动之间保留数据。跨度>
  • 您可能想查看bind mountsvolumes
  • 感谢 michalk 和 Dan。我会考虑这样做。

标签: docker jupyter-notebook


【解决方案1】:

Docker 容器本质上是短暂的。

要存储数据,只需创建并附加a volume 并将笔记本存储在那里。

如果不详细说明您的 docker 项目是如何组成的,我会默认建议使用 docker-compose.yml 文件并声明 volumes: 块,将其安装到存储 ipynb 文件的路径。

我还要注意 Jupyter 是 already dockerized,您可以简单地将其中一个组合到您的整个应用程序中。

【讨论】:

    【解决方案2】:

    为了方便使用 dockerized jupyter notebook,您可能需要克隆这个 repo:

    https://github.com/vladiuz1/py3-jupyter-docker-compose

    先这样做:

    docker network ls
    

    这将为您提供当前网络的名称。

    将您需要与 jupyter 共享的网络添加到上述 repo 的 docker-compose.yaml 中,如下所示:

    networks:
      default:
        external:
          name: <the-name-from-docker-network-ls>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-05
      • 1970-01-01
      • 2019-04-11
      • 2021-07-02
      • 1970-01-01
      • 2019-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多