安装 Docker 支持 NVIDIA 显卡的依赖
确保系统已安装 NVIDIA 显卡驱动和 CUDA 工具包。使用以下命令检查驱动是否安装:
bash
nvidia-smi
若未安装,需先安装 NVIDIA 驱动和 CUDA。以下以 Ubuntu 为例:
bash
sudo apt update
sudo apt install -y nvidia-driver-510 nvidia-cuda-toolkit
安装 NVIDIA Container Toolkit
添加 NVIDIA Container Toolkit 的仓库并安装相关依赖:
bash
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
更新软件包列表并安装 nvidia-container-toolkit
:
bash
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
重启 Docker 服务以应用更改:
bash
sudo systemctl restart docker
验证 NVIDIA 容器运行时
运行一个测试容器,验证 GPU 是否可用:
bash
docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
若输出与直接在主机运行 nvidia-smi
类似的结果,则配置成功。
配置 Docker 默认运行时
编辑 /etc/docker/daemon.json
文件,确保包含以下内容:
json
{
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
},
"default-runtime": "nvidia"
}
重新加载 Docker 配置并重启服务:
bash
sudo systemctl daemon-reload
sudo systemctl restart docker
使用 GPU 运行容器
在运行容器时,通过 --gpus
参数指定 GPU 资源。例如:
bash
docker run --gpus all -it tensorflow/tensorflow:latest-gpu
若需限制 GPU 数量或指定设备,可调整参数:
bash
docker run --gpus '"device=0,1"' -it pytorch/pytorch:latest
常见问题排查
若遇到权限问题,确保当前用户已加入 docker
用户组:
bash
sudo usermod -aG docker $USER
newgrp docker
若容器内无法识别 GPU,检查 nvidia-container-toolkit
是否安装正确,并确认 Docker 服务已重启。