本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

!Github Workflow 确保实验环境一致性。若输出类似以下内容,则表示配置成功(需注意 CUDA 版本与本地驱动兼容性,建议 NVIDIA 驱动版本 ≥ 520):docker run --rm --gpus all nvidia/cuda:12.6.3-cudnn-runtime-ubuntu24.04 nvidia-smi
Fri Feb 28 13:13:06 2025 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 560.35.04 Driver Version: 561.17 CUDA Version: 12.6 | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 NVIDIA GeForce RTX 3060 ... On | 00000000:01:00.0 On | N/A | | N/A 46C P8 11W / 60W | 223MiB / 6144MiB | 15% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+
进入工作目录并创建数据文件夹(默认挂载路径):
cd your-working-directory mkdir -p data # 宿主机数据目录,将与容器共享
启动 GPU-Jupyter 容器:
docker run --gpus all -d -it -p 8848:8888 \ -v $(pwd)/data:/home/jovyan/work \ -e GRANT_SUDO=yes \ -e JUPYTER_ENABLE_LAB=yes \ --user root \ cschranz/gpu-jupyter:v1.9_cuda-12.6_ubuntu-24.04
--gpus all:启用所有 GPU-p 8848:8888:端口映射(宿主机:容器)-v $(pwd)/data:/home/jovyan/work:挂载数据卷(宿主机数据目录 → 容器工作目录)-e GRANT_SUDO=yes:允许 root 用户执行 sudo-e JUPYTER_ENABLE_LAB=yes:启动 JupyterLab(而非传统 Notebook)--user root:以 root 用户运行容器获取登录令牌:
docker exec -it [容器ID/名称] jupyter server list
输出示例:
[JupyterServerListApp] Currently running servers: [JupyterServerListApp] [***] :: /home/jovyan
复制令牌,在浏览器访问 http://localhost:8848 并粘贴令牌登录。登录后可在 http://localhost:8848/login 设置密码(原默认密码 gpu-jupyter)。
Docker Hub 提供以下镜像变体(以 v1.9 为例):
v1.9_cuda-12.6_ubuntu-24.04:全功能版(含 Python/R/Julia 及完整工具栈)v1.9_cuda-12.6_ubuntu-24.04_python-only:仅含 Python 解释器(无 R/Julia)v1.9_cuda-12.6_ubuntu-24.04_slim:精简版(仅 Python,无额外工具包)其他版本(如 v1.8_cuda-12.5_ubuntu-22.04、v1.7_cuda-12.3_ubuntu-22.04 等)及旧版本标签见 Docker Hub。
v1.5_cuda-12.0_ubuntu-22.04 系列v1.4_cuda-11.6_ubuntu-20.04 系列v1.4_cuda-11.2_ubuntu-20.04 系列v1.4_cuda-10.1_ubuntu-18.04 系列如需自定义工具包或适配特定 GPU 架构,建议构建自定义镜像:
克隆仓库并切换版本分支:
git clone [***] cd gpu-jupyter git checkout v1.9_cuda-12.6_ubuntu-24.04 # 选择或创建版本分支
生成 Dockerfile(支持自定义参数,见 配置说明):
# 生成仅含 Python 的 Dockerfile(不含 Julia 和 R) ./generate-Dockerfile.sh --python-only
构建镜像:
docker build -t gpu-jupyter .build/ # 耗时较长,需耐心等待
启动自定义容器:
docker run --gpus all -d -it -p 8848:8888 \ -v $(pwd)/data:/home/jovyan/work \ -e GRANT_SUDO=yes \ -e JUPYTER_ENABLE_LAB=yes \ -e NB_UID="$(id -u)" \ # 同步宿主机用户 UID(避免权限问题) -e NB_GID="$(id -g)" \ # 同步宿主机用户 GID --user root \ --restart always \ # 容器异常时自动重启 --name gpu-jupyter_1 \ # 指定容器名称 gpu-jupyter
创建 docker-compose.yml(参考仓库示例):
version: '3.8' services: gpu-jupyter: build: .build/ ports: - "8848:8888" volumes: - ./data:/home/jovyan/work environment: - GRANT_SUDO=yes - JUPYTER_ENABLE_LAB=yes - NB_UID=${UID} - NB_GID=${GID} user: root deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] restart: always
启动服务:
docker-compose up --build -d # 构建并后台运行 docker-compose ps # 检查状态 docker-compose logs -f # 查看日志 docker-compose down # 停止服务
注意:需 Docker Compose 版本 ≥ 1.28.0 以支持 GPU 资源配置。
查看运行中容器:
docker ps # 查看运行中容器(加 -a 查看所有容器)
查看容器资源占用:
docker stats # 实时监控 CPU/内存/网络/磁盘使用
查看容器日志:
docker logs [容器ID/名称] -f # -f 实时跟踪日志
进入容器终端:
docker exec -it [容器ID/名称] bash # 交互式终端
停止并删除容器:
docker rm -f [容器ID/名称]
generate-Dockerfile.sh 脚本用于生成自定义 Dockerfile,支持以下参数(互斥,每次仅选一个):
| 参数 | 说明 |
|---|---|
--help | 显示帮助信息 |
--slim | 精简版:仅含 Python 解释器,不含 R/Julia 及 custom/usefulpackages.Dockerfile 中的工具包 |
--python-only | Python 专用版:不含 R/Julia,但包含 custom/usefulpackages.Dockerfile 工具包 |
--no-useful-packages | 基础版:含 R/Julia,但不含 custom/usefulpackages.Dockerfile 工具包 |
| `-p | --password [密码]` |
| `-c | --commit [commit ID]` |
| 环境变量 | 说明 | 默认值/示例 |
|---|---|---|
GRANT_SUDO | 是否允许 sudo 权限 | no(建议设为 yes) |
JUPYTER_ENABLE_LAB | 是否启动 JupyterLab | yes |
JUPYTER_TOKEN | 静态登录令牌(UUID 格式,避免容器重启后令牌变更) | 自动生成(通过 uuidgen 生成自定义令牌) |
NB_UID | 容器内用户 UID(需与宿主机一致以解决文件权限问题) | 1000 |
NB_GID | 容器内用户 GID | 1000 |
避免直接修改 .build/Dockerfile(每次生成会覆盖),建议通过以下方式添加自定义包:
custom/usefulpackages.Dockerfile,添加 apt/pip 安装命令:
# 示例:安装额外 Python 包 RUN pip install --no-cache-dir \ "package1==x.y.z" \ "package2" # 安装系统依赖 RUN apt-get update && apt-get install -y --no-install-recommends \ package3 \ && rm -rf /var/lib/apt/lists/*
./generate-Dockerfile.sh --python-only # 重新生成 docker build -t gpu-jupyter .build/ # 重新构建
生成 UUID 令牌:
export JUPYTER_TOKEN=$(uuidgen) echo $JUPYTER_TOKEN # 保存令牌备用
启动容器时传入令牌:
docker run --gpus all -d -it -p 8848:8888 \ -e JUPYTER_TOKEN=${JUPYTER_TOKEN} \ ... # 其他参数
http://localhost:8848/login,使用令牌登录后设置新免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429