
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该 Docker 镜像基于 NVIDIA CUDA 和 cuDNN,预装了 TensorRT、Miniforge、PyTorch 和 JupyterLab,提供一个 GPU 加速的深度学习开发与推理环境。适用于需要进行深度学习开发、推理优化及远程开发(SSH)的用户。它包含了一系列工具,能够支持深度学习模型的开发、调试和推理。
latest: 包含上述所有功能的最新稳定版本。bashdocker pull your-dockerhub-username/cuda-dev-py-jupyter-tensorrt:latest
使用以下命令启动容器并映射端口:
bashdocker run -d \ -p 8888:8888 -p 22:22 \ your-dockerhub-username/cuda-dev-py-jupyter-tensorrt:latest
http://localhost:8888。启动容器后,可以通过 http://<your-server-ip>:8888 访问 JupyterLab。该服务默认不需要输入 token 或密码。
你可以通过以下方式通过 SSH 远程访问容器:
bashssh root@<your-server-ip> -p 22
默认 root 密码为 12356,你可以根据需要在 Dockerfile 中自行修改。
/usr/local/tensorrt 路径下,并配置了必要的环境变量。bashecho $LD_LIBRARY_PATH
bashsource /usr/local/miniforge/bin/activate /usr/local/python3.11
bashconda install <package_name>
/usr/local/tensorrt/lib,用于加载 TensorRT 的库文件。/usr/local/tensorrt/bin,用于访问 TensorRT 的可执行文件。bashRUN echo 'root:your-password' | chpasswd
bashconda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main/
该镜像适用于需要 GPU 加速的深度学习开发与推理任务,特别是包含 TensorRT 推理优化的场景。它为开发者提供了一个开箱即用的开发环境,结合了 SSH 远程访问和 JupyterLab Web 开发界面,便于在不同的环境中进行深度学习的开发、调试和推理优化。
注意:请根据实际项目需求和环境自定义 Dockerfile,并确保遵守相关许可协议。
构建过程如下:
############################################################################################### # Dockerfile 说明: # # 这个 Dockerfile 用于构建一个包含 CUDA、TensorRT、Miniforge、PyTorch、JupyterLab # 和 SSH 服务器的 Docker 镜像,主要用于深度学习开发与推理工作。 # # 主要功能: # 1. 使用 NVIDIA CUDA 11.8 和 cuDNN 8 提供 GPU 加速的基础环境。 # 2. 切换为国内的 Ubuntu 软件源(清华源),加速依赖包的安装。 # 3. 安装开发工具(如 openssh-server、cmake、gdb、vim 等),并配置 SSH 服务。 # 4. 安装 Miniforge 和配置 Python 3.11 环境,使用 Conda 管理 Python 包。 # 5. 安装 PyTorch 和 ONNX,支持深度学习模型的开发与推理。 # 6. 安装 JupyterLab,并配置为无需密码和 token 即可访问,提供基于 web 的开发界面。 # 7. 安装 TensorRT,并设置相关环境变量,支持 GPU 推理优化。 # 8. 配置 Docker 容器启动时自动激活 Python 3.11 环境,并启动 SSH 和 JupyterLab 服务。 # # 适用场景: # 本镜像适用于需要使用 GPU 加速的深度学习开发与推理场景,特别是包含 TensorRT 推理优化的任务。 # 它为数据科学家和开发者提供了一个完整的开发环境,结合了 SSH 远程访问和 JupyterLab Web 编程界面。 # # 使用方法: # 1. 启动容器后,JupyterLab 服务会在 0.0.0.0:8888 启动,SSH 服务在 22 端口启动。 # 2. 默认 root 用户密码为 '12356',可以通过修改 Dockerfile 中的 `chpasswd` 命令来更改。 # ############################################################################################### # 使用 nvidia/cuda 镜像作为基础镜像 FROM nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04 # ------------------------------------------------------------------------------------------------------------------------------------------------ # 切换为清华源 RUN sed -i 's@http://archive.ubuntu.com/ubuntu/@https://mirrors.tuna.tsinghua.edu.cn/ubuntu/@g' /etc/apt/sources.list # 华为镜像源 #RUN sed -i 's@http://archive.ubuntu.com/ubuntu/@https://repo.huaweicloud.com/ubuntu/@g' /etc/apt/sources.list # ------------------------------------------------------------------------------------------------------------------------------------------------ # 更新包管理器并安装所需的工具 RUN apt-get update && apt-get install -y --no-install-recommends \ openssh-server \ build-essential \ cmake \ gdb \ sudo \ vim \ net-tools \ bash-completion \ wget \ tar \ && rm -rf /var/lib/apt/lists/* # 创建 SSH 目录 RUN mkdir /var/run/sshd # 设置 root 用户密码(可根据需要更改) RUN echo 'root:12356' | chpasswd # 允许 root 登录 RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config # 允许 SSH 密码登录 RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config # 取消 pam_loginuid.so 限制 RUN sed -i 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' /etc/pam.d/sshd # ------------------------------------------------------------------------------------------------------------------------------------------------ # 安装 Miniforge RUN wget -qO- https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh -O /tmp/miniforge.sh && \ bash /tmp/miniforge.sh -b -p /usr/local/miniforge && \ rm /tmp/miniforge.sh # 更新 PATH ENV PATH="/usr/local/miniforge/bin:$PATH" # 配置清华的 Conda 源 RUN conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ && \ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ && \ conda config --set show_channel_urls yes # 配置阿里云的 Conda 源 #RUN conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main/ && \ # conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free/ && \ # conda config --set show_channel_urls yes # 创建自定义 Python 3.11 路径 RUN /usr/local/miniforge/bin/conda create -p /usr/local/python3.11 python=3.11 -y # 配置 pip 使用清华源 RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # ------------------------------------------------------------------------------------------------------------------------------------------------ # 激活虚拟环境并安装 PyTorch RUN /bin/bash -c "source /usr/local/miniforge/bin/activate /usr/local/python3.11 && \ pip install torch torchvision && \ pip install onnx" # ------------------------------------------------------------------------------------------------------------------------------------------------ # 安装 JupyterLab 和相关插件 RUN /bin/bash -c "source /usr/local/miniforge/bin/activate /usr/local/python3.11 && \ pip install jupyterlab jupyterlab-lsp python-lsp-server[all]" # 配置 JupyterLab 无密码、无浏览器、密码为空 RUN /bin/bash -c "source /usr/local/miniforge/bin/activate /usr/local/python3.11 && \ jupyter lab --generate-config && \ echo \"c.ServerApp.allow_root = True\" >> ~/.jupyter/jupyter_lab_config.py && \ echo \"c.ServerApp.ip = '0.0.0.0'\" >> ~/.jupyter/jupyter_lab_config.py && \ echo \"c.ServerApp.open_browser = False\" >> ~/.jupyter/jupyter_lab_config.py && \ echo \"c.ServerApp.token = ''\" >> ~/.jupyter/jupyter_lab_config.py && \ echo \"c.ServerApp.password = ''\" >> ~/.jupyter/jupyter_lab_config.py" # ------------------------------------------------------------------------------------------------------------------------------------------------ # 将 TensorRT 文件从本地复制到容器 COPY TensorRT/TensorRT-10.4.0.26.Linux.x86_64-gnu.cuda-11.8.tar.gz /usr/local/ # 解压 TensorRT 文件到 /usr/local/ RUN tar -xvzf /usr/local/TensorRT-10.4.0.26.Linux.x86_64-gnu.cuda-11.8.tar.gz -C /usr/local/ # 创建软链接指向解压后的文件夹,并删除安装包文件 RUN ln -s /usr/local/TensorRT-10.4.0.26 /usr/local/tensorrt && rm -rf /usr/local/TensorRT-10.4.0.26.Linux.x86_64-gnu.cuda-11.8.tar.gz # 设置 TensorRT 环境变量 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/tensorrt/lib ENV PATH=$PATH:/usr/local/tensorrt/bin # ------------------------------------------------------------------------------------------------------------------------------------------------ # 设置工作目录 WORKDIR /root # 开启 SSH 服务端口 EXPOSE 22 # 开启 JupyterLab 服务端口 EXPOSE 8888 # 添加自动激活 /usr/local/python3.11 到 bash 启动脚本 RUN echo "source /usr/local/miniforge/bin/activate" >> ~/.bashrc # ------------------------------------------------------------------------------------------------------------------------------------------------ # 启动 SSH 和 JupyterLab 服务 CMD ["/bin/bash", "-c", "/usr/sbin/sshd && source /usr/local/miniforge/bin/activate /usr/local/python3.11 && jupyter lab --no-browser --ip=0.0.0.0 --allow-root --port=8888 --ServerApp.token='' --ServerApp.password=''"]
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务