启用Docker 并开启 Nvidia GPU 支持的教程

1. 安装 Docker

确保系统中已正确安装 Docker。可以通过以下命令验证 Docker 是否安装成功:

docker --version

如果输出了 Docker 的版本号,则表示安装成功。

提示:在飞牛OS上,可以直接通过应用商店下载并安装 Docker 。


2. 安装 NVIDIA 显卡驱动

在启用 GPU 支持之前,必须先安装合适的 NVIDIA 显卡驱动。可以运行以下命令检查是否已安装驱动:

nvidia-smi

如果该命令输出了 GPU 的信息,则表示驱动已安装;否则需要手动安装。
前往英伟达官网下载驱动。

安装步骤:

  • 下载与您的显卡型号和系统匹配的 .run 格式的驱动文件。
  • 执行以下命令进行安装(假设驱动文件名为 NVIDIA-Linux-x86_64-xxx.run):
sudo bash NVIDIA-Linux-x86_64-xxx.run

注意:由于飞牛OS没有图形界面,无需关闭桌面或禁用默认驱动。
警告:千万不要去飞牛OS的系统商店下载Nvidia驱动,它可能因为版本问题而导致不兼容。


3. 安装 NVIDIA Container Toolkit

NVIDIA Container Toolkit 是实现 Docker 对 GPU 支持的核心组件,Linux中需要手动配置。
Windows版的docker无需这个配置,详情:https://docker.github.net.cn/desktop/gpu/

1. 添加 NVIDIA APT 源

执行以下命令添加 NVIDIA 的软件源:

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

如需启用实验性功能,可执行:

sudo sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list

2. 更新包列表并安装工具包

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

验证安装结果:

nvidia-ctk --version

4. 配置 Docker 使用 NVIDIA 运行时 (新版Docker经测试可以不要这一步,但仍然请重启Docker)

使用 nvidia-ctk 工具自动配置 Docker:

sudo nvidia-ctk runtime configure --runtime=docker

此命令会修改 /etc/docker/daemon.json 文件以支持 NVIDIA 容器运行时。

随后重启 Docker 服务:

sudo systemctl restart docker

5. 验证配置是否成功

运行以下命令测试 GPU 支持是否正常:

docker run --gpus all nvidia/cuda:12.0-base nvidia-smi

如果能看到 nvidia-smi 的输出信息,则表示 Docker 已成功启用了对 NVIDIA GPU 的支持 。


总结

通过以上步骤,您已完成 Docker 对 NVIDIA GPU 的完整配置。关键点包括:

  • 确保已安装 Docker 并验证其可用性。
  • 正确安装并验证 NVIDIA 显卡驱动。
  • 添加 NVIDIA 软件源并安装 nvidia-container-toolkit
  • 使用 nvidia-ctk 配置 Docker 运行时,并重启服务。
  • 最后通过容器运行 nvidia-smi 来验证配置是否生效 。

Logo

纵情码海钱塘涌,杭州开发者创新动! 属于杭州的开发者社区!致力于为杭州地区的开发者提供学习、合作和成长的机会;同时也为企业交流招聘提供舞台!

更多推荐