
dclong/jupyterhub-cudadclong/docker-jupyterhub-cuda 是一个集成 JupyterHub 和 CUDA 的 Docker 镜像,旨在提供开箱即用的多用户 GPU 加速计算环境。该镜像将 JupyterHub(多用户 Jupyter Notebook 服务器)与 CUDA 工具包结合,支持用户通过浏览器访问 Jupyter Notebook,并利用 GPU 资源进行数据科学、机器学习等计算密集型任务,简化多用户共享 GPU 资源的部署与管理流程。
bashdocker run -d \ --gpus all \ # 分配所有 GPU 资源(根据需求调整数量,如 --gpus 1) -p 8000:8000 \ # 映射 JupyterHub 默认端口(主机端口:容器端口) --name jupyterhub-cuda \ dclong/docker-jupyterhub-cuda
容器启动后,通过浏览器访问 http://<主机IP>:8000,使用默认管理员账户(需参考镜像文档配置初始账号,或通过环境变量预设)登录。
| 环境变量 | 说明 | 默认值 |
|---|---|---|
JUPYTERHUB_PORT | JupyterHub 服务端口 | 8000 |
JUPYTERHUB_ADMIN | 管理员用户名(多用户用逗号分隔) | admin |
NB_USER | 默认用户账户名 | jupyter |
NB_UID | 默认用户 UID | 1000 |
NB_GID | 默认用户 GID | 1000 |
GPU_ALLOC | 单用户 GPU 资源限额(如 0.5) | 1.0 |
bashdocker run -d \ --gpus 2 \ # 限制使用 2 块 GPU -p 8888:8000 \ # 主机端口映射为 8888 -e JUPYTERHUB_ADMIN="admin,data_scientist" \ # 配置多个管理员 -e GPU_ALLOC=0.5 \ # 单用户限制使用 50% GPU 资源 -v /data/jupyterhub:/home \ # 挂载主机目录作为用户数据存储(持久化) --name jupyterhub-cuda \ dclong/docker-jupyterhub-cuda
创建 docker-compose.yml 文件:
yamlversion: '3.8' services: jupyterhub: image: dclong/docker-jupyterhub-cuda container_name: jupyterhub-cuda restart: always ports: - "8000:8000" # 主机端口:容器端口 environment: - JUPYTERHUB_ADMIN=admin,researcher - NB_USER=jupyter - GPU_ALLOC=0.3 # 限制单用户使用 30% GPU 资源 volumes: - ./user_data:/home # 持久化用户数据 - ./config:/srv/jupyterhub/config # 挂载自定义配置文件(如需) deploy: resources: reservations: devices: - driver: nvidia count: 2 # 使用 2 块 GPU capabilities: [gpu] # 声明 GPU 能力
启动服务:
bashdocker-compose up -d
GPU_ALLOC 或 Docker 资源限制配置单用户 GPU 使用量,避免资源独占/home 目录),防止容器重启导致用户数据丢失
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务