【Pandas】Docker-compose 一键搭建Jupyter Notebook

一. Jupyter Notebook简介以及优点:

   Jupyter Notebook 是一种开源的交互式笔记本环境,主要用于数据分析、数据可视化、机器学习和科学计算等任务。它有许多优点,使其成
为研究人员、数据科学家和工程师喜爱的工具之一。

优点:

  1. 交互性: Jupyter Notebook 允许用户以交互方式逐步执行代码。你可以运行一小段代码,查看结果,然后根据结果来调整和改进代码,从而加快实验和开发过程。
  2. 可视化支持: Jupyter Notebook 集成了丰富的可视化库,如 Matplotlib、Seaborn 和 Plotly,使你可以轻松创建各种图表和图形,更直观地理解数据。
  3. 文档化: Jupyter Notebook 允许在代码块之间插入文本、标记和解释,从而创建更具可读性和可分享性的分析报告。这种能力使其成为学习、教育和协作的优秀工具。
  4. 支持多种编程语言: 虽然最初是针对 Python 的,但 Jupyter Notebook 支持多种编程语言,如 R、Julia 和 Scala。这意味着你可以在同一个笔记本中混合使用不同的语言。
  5. 模块化开发: 可以将代码拆分为多个单元格,有助于模块化开发和维护。你可以按顺序逐个单元格运行,以确保代码的正确性和一致性。
  6. 支持丰富的扩展: Jupyter Notebook 允许用户安装各种扩展,以增强其功能。这些扩展可以用于自动完成、代码检查、代码格式化等。
  7. 云端支持: 通过各种云服务提供商,如 Google Colab、Microsoft Azure Notebooks 和 AWS SageMaker,你可以在云端运行 Jupyter Notebook,而不必在本地设置开发环境。
  8. 开源社区: Jupyter Notebook 是一个开源项目,拥有庞大的用户和开发者社区。这意味着你可以从社区中获取支持、解决问题,并从他人的经验中学习。

二. Docker Compose部署Jupyter Notebook实现

1. 目录结构

.
└── docker_jupyter_notebook
	├── docker-compose.yml
	└── notebooks

2. docker-compose.yml

注意:文件内 IJUPYTER_TOKEN 根据自己情况修改;

version: '3'
services:
  jupyter:
    image: jupyter/scipy-notebook:latest
    ports:
      - "18888:8888"
    volumes:
      - ./notebooks:/home/jovyan/work
    environment:
      - NB_UID=1000
      - NB_GID=100
      - CHOWN_HOME=yes
      - CHOWN_HOME_OPTS='-R'
      - JUPYTER_ENABLE_LAB=yes
      - JUPYTER_TOKEN=your_token
    command: start-notebook.sh --NotebookApp.custom_display_url=http://localhost:8888
    container_name: jupyter
    restart: always
    network_mode: "bridge"

3. 创建文件夹

目录和文件截图如下
在这里插入图片描述

3.1 给notebooks目录添加权限

chmod -R 777 ./notebooks

4. 启动服务

# 进入docker_jupyter_notebook目录下
cd /系统目录/docker_jupyter_notebook
# 启动服务
docker compose up -d

备注:

a. .http://localhost:18888/ 输入 your_token (该token为 2. docker-compose.yml 里的JUPYTER_TOKEN的值),点击login进入jupyter
在这里插入图片描述
b. jupyter notebook 界面
在这里插入图片描述

启动后无法在work目录新建文件问题解决

# 进入docker_jupyter_notebook目录下
cd /系统目录/docker_jupyter_notebook
# 给notebooks目录添加权限
chmod -R 777 ./notebooks

猜你喜欢

转载自blog.csdn.net/yqyn6/article/details/132281258