清夏晚风

Docker使用NVIDIA显卡(NVIDIA Container Toolkit)

更新日期:2025年10月24日

简介

NVIDIA Container Toolkit是一个允许Docker容器使用NVIDIA GPU的工具包。通过安装和配置这个工具包,用户可以在Docker容器中充分利用NVIDIA显卡的计算能力,特别适用于机器学习、深度学习和其他GPU加速应用。

参考资料

安装步骤

1. 安装先决条件

1
2
3
sudo apt-get update && sudo apt-get install -y --no-install-recommends \
curl \
gnupg2

2. 添加NVIDIA软件源

1
2
3
4
5
# 下载NVIDIA容器工具包的GPG密钥
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

3. 启用实验性软件源(可选)

1
2
# 取消注释experimental软件源
sudo sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list

4. 安装NVIDIA Container Toolkit

1
2
3
# 更新软件包列表并安装nvidia容器工具包
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

5. 配置Docker运行时

1
2
# 配置nvidia-ctk运行时为docker
sudo nvidia-ctk runtime configure --runtime=docker

6. 重启Docker服务

1
2
# 重启docker服务以应用配置
sudo systemctl restart docker

使用方法

基本用法

安装完成后,可以通过以下命令在Docker容器中使用NVIDIA GPU:

1
2
# 运行带有GPU支持的容器
docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi

指定特定GPU

1
2
3
4
5
# 只使用第一个GPU
docker run --rm --gpus '"device=0"' nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi

# 使用多个特定GPU
docker run --rm --gpus '"device=0,1"' nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi

设置GPU内存限制

1
2
# 限制GPU内存使用为1GB
docker run --rm --gpus all --shm-size=1g nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi

常见问题

1. 检查NVIDIA驱动是否正确安装

1
2
# 检查NVIDIA驱动状态
nvidia-smi

2. 验证Docker是否正确识别GPU

1
2
# 检查Docker是否可以访问GPU
docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi

3. 查看Docker运行时配置

1
2
# 检查Docker守护进程配置
cat /etc/docker/daemon.json

注意事项

  1. 确保系统已正确安装NVIDIA驱动程序
  2. 安装完成后需要重启Docker服务
  3. 使用--gpus标志来启用GPU支持
  4. 不同CUDA版本需要对应的基础镜像
  5. 在生产环境中建议使用特定版本的镜像而非latest标签
  • Title:
  • Author: 清夏晚风
  • Created at : 2026-01-13 16:48:23
  • Updated at : 2026-01-13 16:48:23
  • Link: https://blog.kimikkorow.eu.org/虚拟容器技术/Docker/Docker使用NVIDIA显卡(NVIDIA Container Toolkit)/
  • License: This work is licensed under CC BY-NC-SA 4.0.