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