怎么在Docker中运行深度学习环境及GPU支持教程

梦宇大大_5484

梦宇大大_5484

2026-04-08

379人浏览

原创

在docker中启用gpu支持需宿主机安装兼容nvidia驱动(≥525)、配置nvidia-container-toolkit并重启docker服务,再使用ngc官方cuda镜像(如nvcr.io/nvidia/pytorch)运行容器,通过--gpus all参数调用gpu,容器内无需装驱动。

怎么在docker中运行深度学习环境及gpu支持教程

在Docker中运行深度学习环境并启用GPU支持,核心是使用NVIDIA官方提供的nvidia-container-toolkit(替代旧版nvidia-docker2),配合支持CUDA的镜像(如nvcr.io/nvidia/pytorch或nvcr.io/nvidia/tensorflow)。关键前提是宿主机已正确安装NVIDIA驱动和CUDA Toolkit(仅驱动即可,Docker容器内自带CUDA运行时)。

宿主机环境准备:驱动与工具链

确保以下三项已就绪,否则GPU无法被容器识别:

  • NVIDIA显卡驱动已安装且版本兼容(建议≥525,可通过nvidia-smi验证)
  • 安装nvidia-container-toolkit(Ubuntu/Debian示例):
    curl -sL https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -<br>
        curl -sL https://nvidia.github.io/nvidia-docker/ubuntu20.04/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list<br>
        sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
  • 重启docker daemon:sudo systemctl restart docker

拉取并运行预编译的GPU镜像

无需自己构建,直接使用NVIDIA NGC官方镜像最稳妥。例如启动PyTorch环境:

  • 查看可用镜像:docker run --rm --gpus all nvcr.io/nvidia/pytorch:23.10-py3 nvidia-smi(测试GPU可见性)
  • 交互式运行带Jupyter的容器:
    docker run --gpus all -it --rm -p 8888:8888 \<br>
        -v $(pwd)/notebooks:/workspace/notebooks \<br>
        nvcr.io/nvidia/pytorch:23.10-py3
  • 进入后执行jupyter notebook --ip=0.0.0.0 --no-browser --allow-root --port=8888,浏览器访问localhost:8888

自定义Dockerfile(需GPU支持)

若需添加特定库(如detectron2、wandb),基于NGC基础镜像扩展:

  • 首行必须为NGC镜像:FROM nvcr.io/nvidia/pytorch:23.10-py3
  • 禁用CUDA_HOME覆盖(NGC镜像已设好),避免破坏CUDA路径
  • 安装Python包时用pip install --no-cache-dir减小镜像体积
  • 构建命令:docker build -t my-dl-env .;运行:docker run --gpus all -it my-dl-env

验证GPU是否真正生效

容器内运行以下命令确认深度学习框架调用的是GPU而非CPU:

  • PyTorch:python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.device_count())"
  • TensorFlow:python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
  • 常见失败原因:宿主机驱动版本过低、--gpus all未加、容器内误装了CPU-only的PyTorch(如用pip重装)

不复杂但容易忽略:每次更新宿主机NVIDIA驱动后,必须重启docker服务;容器内无需安装驱动,只依赖宿主机驱动 + 容器内CUDA运行时(由NGC镜像提供)。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
pip安装使用方法
pip安装使用方法

安装步骤:1、确保Python已经正确安装在您的计算机上;2、下载“get-pip.py”脚本;3、按下Win + R键,然后输入cmd并按下Enter键来打开命令行窗口;4、在命令行窗口中,使用cd命令切换到“get-pip.py”所在的目录;5、执行安装命令;6、验证安装结果即可。大家可以访问本专题下的文章,了解pip安装使用方法的更多内容。

2023.10.09

2730

5

更新pip版本
更新pip版本

更新pip版本方法有使用pip自身更新、使用操作系统自带的包管理工具、使用python包管理工具、手动安装最新版本。想了解更多相关的内容,请阅读专题下面的文章。

2024.12.20

6283

6

pip设置清华源
pip设置清华源

设置方法:1、打开终端或命令提示符窗口;2、运行“touch ~/.pip/pip.conf”命令创建一个名为pip的配置文件;3、打开pip.conf文件,然后添加“[global];index-url = https://pypi.tuna.tsinghua.edu.cn/simple”内容,这将把pip的镜像源设置为清华大学的镜像源;4、保存并关闭文件即可。

2024.12.23

7862

11

python升级pip
python升级pip

本专题整合了python升级pip相关教程,阅读下面的文章了解更多详细内容。

2025.07.23

3887

16

python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end='\n', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.27

2620

5

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

2026.02.03

249

24

curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

2023.06.14

3483

6

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

2023.10.30

775

4

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

2026.01.21

8385

27

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习