参考资料

  1. Eclipse Temurin 是一个由 Adoptium 社区维护的开源 Java SE 发行版
  2. 1Panel 是一个现代化的开源 Linux 服务器运维管理面板
  3. irssi 是一个基于终端的开源 IRC 客户端,支持多服务器连接、可定制界面和脚本扩展。
  4. Go(又称 Golang)是 Google 开发的一种静态强类型、编译型、并发型编程语言
  5. IBM Semeru Runtimes 是基于 OpenJDK 的开源 Java 运行时环境(JRE)和开发工具包(JDK)。
  6. Rapidoid是一个高性能的Java Web框架
  7. emlog 是一款基于 PHP 和 MySQL 的开源博客系统
  8. api-firewall 是一个开源的 API 防火墙

JupyterHub 简介

JupyterHub 是一个多用户版本的 Jupyter Notebook,允许团队或教育机构通过网页浏览器访问共享的计算资源。它支持多个用户同时使用,每个用户拥有独立的 Jupyter 环境。

特点

  1. 多用户支持:允许多个用户同时登录并使用独立的 Jupyter 环境。

  2. 可扩展性:支持 Kubernetes 等集群管理工具,适合大规模部署。

  3. 认证集成:支持 OAuth、LDAP、PAM 等多种认证方式。

  4. 灵活的后端:支持 Docker、Kubernetes、批处理系统等多种后端。

  5. 自定义配置:可以通过配置文件调整资源分配、用户权限等。

最新更新内容及时间

  • 最新版本:3.0.0(截至 2023 年 10 月)

  • 主要更新

    • 支持 JupyterLab 4.0。

    • 改进了 Kubernetes 支持。

    • 增强了安全性配置。

镜像下载地址

官网地址

文档地址

Docker 安装示例

# 拉取镜像
docker pull jupyterhub/jupyterhub

# 运行 JupyterHub
docker run -p 8000:8000 -v /var/run/docker.sock:/var/run/docker.sock jupyterhub/jupyterhub

.yaml 设置教程

  1. 创建配置文件 jupyterhub_config.py(不是 .yaml,JupyterHub 使用 Python 文件配置)。

  2. 示例配置:

c.JupyterHub.ip = '0.0.0.0'
c.JupyterHub.port = 8000
c.JupyterHub.spawner_class = 'dockerspawner.DockerSpawner'
c.DockerSpawner.image = 'jupyter/base-notebook'

常用错误问题

  1. 端口冲突:确保 8000 端口未被占用。

  2. Docker 权限问题:确保 Docker 服务已启动且用户有权限。

  3. 认证失败:检查认证配置(如 PAM 或 OAuth)。

  4. 资源不足:调整 c.Spawner.mem_limitc.Spawner.cpu_limit

  5. 镜像拉取失败:检查网络或镜像名称是否正确。