• Docker:使用 JupyterLab 进行数据科学


    使用 JupyterLab 进行数据科学

    Docker 和 JupyterLab 是两个强大的工具,可以增强您的数据科学工作流程。在本指南中,您将学习如何将它们结合使用,以创建和运行可重现的数据科学环境。本指南基于《Supercharging AI/ML Development with JupyterLab and Docker》。

    在本指南中,您将学习如何:

    • 在本地机器上运行带有 JupyterLab 的个人 Jupyter 服务器
    • 自定义您的 JupyterLab 环境
    • 与其他数据科学家共享您的 JupyterLab 笔记本和环境

    什么是 JupyterLab?

    JupyterLab 是一个开源应用程序,围绕计算笔记本文档的概念构建。它支持代码共享与执行、数据处理和可视化,并提供一系列用于创建图表的交互功能。

    为什么将 Docker 和 JupyterLab 一起使用?

    通过结合 Docker 和 JupyterLab,您可以享受两者的优势,例如:

    • 容器化确保在所有部署中都有一致的 JupyterLab 环境,消除兼容性问题。
    • 容器化的 JupyterLab 通过消除手动设置环境的需求简化了共享和协作。
    • 容器为 JupyterLab 提供可扩展性,支持工作负载分配和高效的资源管理,如在 Kubernetes 平台上。

    前提条件

    请安装最新版本的 Docker Desktop。

    运行并访问 JupyterLab 容器

    在终端中运行以下命令以运行 JupyterLab 容器:

    docker run --rm -p 8889:8888 quay.io/jupyter/base-notebook start-notebook.py --NotebookApp.token='my-token'
    

    命令中各部分的解释如下:

    • -p 8889:8888:将主机的 8889 端口映射到容器的 8888 端口。
    • start-notebook.py --NotebookApp.token='my-token':设置访问令牌而不是使用随机令牌。

    有关更多详细信息,请参阅 Jupyter Server 选项和 docker run CLI 参考。

    如果这是您第一次运行镜像,Docker 将下载并运行它。下载镜像所需的时间将取决于您的网络连接。

    镜像下载并运行后,您可以访问该容器。在网络浏览器中导航到 localhost:8889/lab?token=my-token 以访问容器。

    要停止容器,请在终端中按 ctrl+c

    访问系统上的现有笔记本

    您可以使用绑定挂载来访问现有的笔记本。在终端中切换到现有笔记本所在的目录,然后根据您的操作系统运行以下命令。

    docker run --rm -p 8889:8888 -v "$(pwd):/home/jovyan/work" quay.io/jupyter/base-notebook start-notebook.py --NotebookApp.token='my-token'
    

    选项 -v 告诉 Docker 将您当前工作目录挂载到容器内的 /home/jovyan/work。默认情况下,Jupyter 镜像的根目录是 /home/jovyan,您只能在容器中的该目录访问或保存笔记本。

    现在您可以访问 localhost:8889/lab?token=my-token 并打开绑定挂载目录中的笔记本。

    要停止容器,请在终端中按 ctrl+c

    Docker 还提供卷,这是持久化 Docker 容器生成和使用的数据的首选机制。虽然绑定挂载依赖于主机机器的目录结构和操作系统,但卷完全由 Docker 管理。

    保存并访问笔记本

    当您删除容器时,该容器中的所有数据都会被删除。要将笔记本保存到容器外部,可以使用卷。

    使用卷运行 JupyterLab 容器

    要使用卷启动容器,请在终端中运行以下命令:

    docker run --rm -p 8889:8888 -v jupyter-data:/home/jovyan/work quay.io/jupyter/base-notebook start-notebook.py --NotebookApp.token='my-token'
    

    选项 -v 告诉 Docker 创建一个名为

  • 相关阅读:
    k8s驱逐篇(2)-kubelet节点压力驱逐
    互联网干洗店洗鞋店预约收衣下单软件
    [附源码]计算机毕业设计JAVA校园淘宝节系统
    html CSS 循环旋转的圆圈
    c++ 沉思录——代理类
    研究生选控制嵌入式还是机器视觉好?
    c#中禁用当鼠标位于控件上方时ToolStripDropDownButton上的蓝色焦点
    某大学ipv6和ipv4结合的校园网规划设计
    什么是重放攻击(Reply attack)?
    【GNN】用 GCN 预测 CoraGraphDataset 结点类别
  • 原文地址:https://blog.csdn.net/qcpm1983/article/details/139999524