logo
1
1
Login

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 许可证。

About

Project 1 - DataHub-Container-Platform

Language
Markdown57.4%
Jupyter28.5%
Shell7.3%
Python5.2%
Others1.6%