> 技术文档 > Docker 容器配置NVIDIA环境_docker nvidia

Docker 容器配置NVIDIA环境_docker nvidia

在 Docker 容器内安装 NVIDIA 以支持 GPU,需要使用 NVIDIA Container Toolkit 并确保宿主机正确安装了 NVIDIA 驱动。以下是详细的步骤:


🔹 1. 确保宿主机已安装 NVIDIA 驱动

在宿主机(非容器)上运行:

nvidia-smi

如果成功显示 GPU 信息,说明 NVIDIA 驱动已正确安装。

如果 nvidia-smi 命令找不到,可能需要安装 NVIDIA 驱动:

sudo apt updatesudo apt install -y nvidia-driver

然后重启宿主机。


🔹 2. 安装 NVIDIA Container Toolkit

如果你的宿主机尚未安装 NVIDIA Container Toolkit,请执行以下操作:

Ubuntu / Debian

curl -fsSL https://nvidia.github.io/nvidia-docker/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpgdistribution=$(. /etc/os-release;echo $ID$VERSION_ID)curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.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-docker.listsudo apt updatesudo apt install -y nvidia-container-toolkit

CentOS / RHEL

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.reposudo yum install -y nvidia-container-toolkit

安装后,重启 Docker 服务

sudo systemctl restart docker

🔹 3. 运行带 NVIDIA 支持的 Docker 容器

启动支持 GPU 的容器(基于 CUDA 镜像):

docker run --rm --gpus all nvidia/cuda:12.2.2-base-ubuntu22.04 nvidia-smi

如果输出 GPU 相关信息,说明 NVIDIA GPU 已成功在容器内运行。


🔹 4. 让已有容器支持 NVIDIA

如果你已经有一个 Docker 容器(如 my_jupyter_image),可以使用 --gpus all 选项运行:

docker run -it --gpus all my_jupyter_image

如果你希望给正在运行的容器添加 NVIDIA 相关支持,可以 创建 NVIDIA 运行时

sudo tee /etc/docker/daemon.json <<EOF{ \"runtimes\": { \"nvidia\": { \"path\": \"nvidia-container-runtime\", \"runtimeArgs\": [] } }}EOF

然后重启 Docker:

sudo systemctl restart docker

现在你可以使用 --runtime=nvidia 运行容器:

docker run -it --runtime=nvidia my_jupyter_image

🔹 5. 在 Docker 容器内安装 NVIDIA 相关依赖

如果你需要在 Docker 容器内使用 PyTorch 或 TensorFlow 并启用 GPU,可以安装相应的 CUDA 依赖:

(1)在容器内安装 NVIDIA 驱动库

apt updateapt install -y cuda-toolkit

(2)安装 PyTorch(CUDA 版本)

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

(3)安装 TensorFlow(CUDA 版本)

pip install tensorflow

🔹 6. 测试 GPU 是否可用

进入容器后,运行以下 Python 代码检查 GPU 是否可用:

import torchprint(torch.cuda.is_available())print(torch.cuda.device_count())print(torch.cuda.get_device_name(0))

或者:

import tensorflow as tfprint(tf.config.list_physical_devices(\'GPU\'))

如果一切正常,你应该能看到你的 GPU 设备。


🔹 总结

安装 NVIDIA 驱动(宿主机)
安装 NVIDIA Container Toolkit(宿主机)
运行 Docker 容器时使用 --gpus all
在容器内安装 CUDA 相关依赖

这样,你的 Docker 容器就能正确使用 GPU 了!🚀 如果你遇到任何问题,请告诉我!