Ubuntu Nvidia Docker单机多卡环境配置

ubuntu版本是22.04,现在最新版本是24.xx,截止当前,Nvidia的驱动最高还是22.04版本,不建议更新至最新版本。本部分是从0开始安装Nvidia docker的记录,若已安装Nvdia驱动,请直接跳至3。

1、更新软件软件列表

更新apt,安装gcc、g++等

powershell 复制代码
apt-get update
apt-get install g++ gcc make

2、Nvidia显卡安装(建议方式2)

0)预备条件

  • 查看是否有物理显卡,执行命令出现显卡信息则有物理显卡,否则需要查看显卡是否安装或者插拔一下

    powershell 复制代码
    lspci | grep -i nvidia
  • 查看是否已有Nvidia显卡驱动,若存在与即将安装版本不一致,先卸载原有驱动

    powershell 复制代码
    nvidia-smi		# 查看是否有显卡驱动,无显卡信息输出则未安装
    sudo apt-get remove nvidia-*  		# 卸载原有的显卡驱动

1)安装方式1:

  • 查看显卡型号和支持的nvidia驱动版本

    powershell 复制代码
    lshw -c display
    ubuntu-drivers devices
  • 根据推荐的nvidia-driver下载对应的驱动

    • 选择推荐的版本:ubuntu-drivers autoinstall
    • 手动安装特定版本:apt install nvidia-driver-xxx
  • 安装完成后重启

    powershell 复制代码
    shutdown -r now  	# 关机后立即重启

2)安装方式2:

  • ubuntu官网,根据显卡、os等信息下载并安装显卡驱动,具体参考博文ubuntu下安装nvidia驱动。根据自身的实践经验,下载好驱动后只需要执行以下命令,博文中其他命令在基本上不影响安装:

    powershell 复制代码
    sudo ./NVIDIA-Linux-x86_64-435.21.run -no-opengl-files -no-x-check -no-nouveau-check

3)安装成功验证:

  • 执行命令nvidia-smi,界面呈现显卡详细信息即为安装成功

3、Nvidia docker安装

  • 安装nvidia-container-toolkit,下面提取了apt安装方式,其他比如yum、zypper等安装方式参考NVIDIA CONTAINER TOOLKIT ,apt安装方式根据下面命令复制安装即可。

    powershell 复制代码
    	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
    powershell 复制代码
    apt-get install -y nvidia-container-toolkit
  • docker安装方式

    • 安装docker引擎
    powershell 复制代码
    apt install docker.io
    • 加载docker镜像
    powershell 复制代码
    docker load -i nvdocker.tar # 其中nvdocker.tar是镜像名称,需要下载
  • 配置nvidia-docker

    powershell 复制代码
    nvidia-ctk runtime configure --runtime=docker
    systemctl restart docker
  • 验证nvidia docker是否可用

    powershell 复制代码
    docker run hello-world

    如果输出"Hello from Docker! xxx...",表明安装成功

  • 使用GPU

    docker run有个参数 --gpus,可指定分配几个GPU

4、其他

  • 查看cpu架构
    • uname -m
    • lscpu
相关推荐
i小溪14 分钟前
在使用 Docker 时,如果容器挂载的数据目录(如 `/var/moments`)位于数据盘,只要服务没有读写,数据盘是否就不会被唤醒?
人工智能·docker
applebomb22 分钟前
没合适的组合wheel包,就自行编译flash_attn吧
python·ubuntu·attention·flash
Rudon滨海渔村2 小时前
解决阿里云ubuntu内存溢出导致vps死机无法访问 - 永久性增加ubuntu的swap空间 - 阿里云Linux实例内存溢出(OOM)问题修复方案
linux·运维·ubuntu
蓝纹绿茶3 小时前
【Mac】实现Docker下载安装【正在逐步完善】
macos·docker·容器
2401_861615284 小时前
跨平台的ARM 和 x86 Docker 镜像:汇编语言实验环境搭建
linux·汇编·ubuntu·docker·容器
Ronin3055 小时前
【Linux系统】vim编辑器 | 编译器gcc/g++ | make/Makefile
linux·运维·服务器·ubuntu·编辑器·vim
INFINI Labs6 小时前
搭建持久化的 INFINI Console 与 Easysearch 容器环境
docker·easysearch·console
生活爱好者!7 小时前
NAS 部署白板工具,实现思维导图/画板/流程图自由
运维·docker·容器
乌鸦不像写字台13 小时前
【docker部署】在服务器上使用docker
服务器·docker·容器
牧以南歌〆14 小时前
在Ubuntu主机中修改ARM Linux开发板的根文件系统
linux·arm开发·驱动开发·ubuntu