logo
1
1
WeChat Login
feat: 添加项目指南

Docker Jupyter 环境进阶教程

本项目提供了一系列渐进式的 Jupyter 环境配置示例,从单用户容器到多用户 AI 增强环境,帮助你理解和构建适合自己需求的 Jupyter 环境。

项目结构

.
├── 01-single-container/       # 单用户 Jupyter 环境
├── 02-jupyterhub/            # 基础多用户环境
├── 03-jupyterhub-github-auth/ # GitHub 认证集成
└── 04-jupyterhub-ai-enhanced/ # AI 增强版本

详细说明

01-single-container

基础的单用户 Jupyter 环境,适合个人使用或学习 Docker 容器化部署。

特性:

  • 基于 Docker 的单容器部署
  • 预装常用数据科学包
  • 数据持久化存储
  • 示例数据和欢迎笔记本

文件结构:

01-single-container/
├── Dockerfile           # 容器定义
├── docker-compose.yml   # 服务编排配置
├── requirements.txt     # Python 依赖
├── data/               # 数据目录
└── notebooks/          # 笔记本目录

02-jupyterhub

基础的多用户 JupyterHub 环境,支持多用户独立工作空间。

特性:

  • 多用户支持
  • Docker 容器隔离
  • 本地用户认证
  • 用户数据持久化
  • 基础的系统测试

文件结构:

02-jupyterhub/
├── Dockerfile.jupyterhub  # JupyterHub 容器定义
├── docker-compose.yml     # 多容器服务编排
├── jupyterhub_config.py  # JupyterHub 配置
└── tests/                # 测试目录

03-jupyterhub-github-auth

集成 GitHub 认证的 JupyterHub 环境。

特性:

  • GitHub OAuth 认证
  • 环境变量配置
  • 用户权限管理
  • 安全的配置管理

文件结构:

03-jupyterhub-github-auth/
├── .env.example           # 环境变量模板
├── Dockerfile.jupyterhub  # JupyterHub 容器定义
├── docker-compose.yml     # 服务编排配置
└── jupyterhub_config.py  # GitHub 认证配置

04-jupyterhub-ai-enhanced

AI 增强版 JupyterHub 环境,集成多个 AI 模型和工具。

特性:

  • 集成多个 AI 模型(OpenAI、Anthropic、HuggingFace等)
  • 支持国内大模型(阿里通义、DeepSeek等)
  • AI 辅助编程和分析
  • 资源限制和管理
  • 示例笔记本

文件结构:

04-jupyterhub-ai-enhanced/
├── Dockerfile.jupyterhub  # JupyterHub 容器定义
├── Dockerfile.notebook    # AI 笔记本容器定义
├── docker-compose.yml     # 服务编排配置
├── ai-config/            # AI 配置目录
├── examples/             # AI 示例笔记本
├── start.sh             # 启动脚本
└── stop.sh              # 停止脚本

安装说明

前置要求

  • Docker Engine 20.10+
  • Docker Compose v2.0+
  • Git

快速开始

  1. 克隆仓库:
git clone <repository-url>
cd <repository-name>
  1. 选择需要的环境:

单用户环境

cd 01-single-container
docker-compose up -d

基础多用户环境

cd 02-jupyterhub
docker-compose up -d

GitHub认证环境

cd 03-jupyterhub-github-auth
cp .env.example .env
# 编辑 .env 文件,添加 GitHub OAuth 配置
docker-compose up -d

AI增强环境

cd 04-jupyterhub-ai-enhanced
cp .env.example .env
# 编辑 .env 文件,添加必要的 API 密钥
./start.sh

配置说明

环境变量配置

AI 增强环境支持以下配置:

# GitHub OAuth
GITHUB_CLIENT_ID=your_client_id
GITHUB_CLIENT_SECRET=your_client_secret
OAUTH_CALLBACK_URL=http://localhost:8000/hub/oauth_callback

# AI API Keys
OPENAI_API_KEY=your_openai_key
ANTHROPIC_API_KEY=your_anthropic_key
HUGGINGFACE_API_KEY=your_huggingface_key

# 国内大模型配置
DASHSCOPE_API_KEY=your_dashscope_key
DEEPSEEK_API_KEY=your_deepseek_key
OLLAMA_BASE_URL=http://localhost:11434

# AI 默认配置
JUPYTER_AI_MODEL_PROVIDER=openai
JUPYTER_AI_DEFAULT_MODEL=gpt-3.5-turbo

# 资源限制
DOCKER_MEM_LIMIT=4G
DOCKER_CPU_LIMIT=2.0

端口配置

  • JupyterHub 默认端口:8000
  • 可通过 docker-compose.yml 修改端口映射

使用说明

  1. 访问 JupyterHub:

    • 打开浏览器访问 http://localhost:8000
  2. 用户认证:

    • 单用户环境:无需认证
    • 基础环境:使用本地用户认证
    • GitHub认证环境:使用GitHub账号登录
    • AI增强环境:使用GitHub账号登录
  3. AI 功能使用:

    • 查看 examples 目录下的示例笔记本
    • 使用内置的 AI 助手功能
    • 利用 AI 辅助编程和数据分析

注意事项

  1. 安全性:

    • 生产环境部署时请修改默认配置
    • 妥善保管 API 密钥
    • 定期更新容器镜像
  2. 资源管理:

    • 监控系统资源使用情况
    • 根据需要调整容器资源限制
    • 定期清理未使用的容器和数据
  3. 数据备份:

    • 定期备份重要数据
    • 使用数据卷持久化存储

贡献指南

欢迎提交 Issue 和 Pull Request 来帮助改进项目。

许可证

本项目采用 Modified BSD License 许可证。