注意:当前版本看着是基于ubuntu的,yum命令无法安装。
本文主要介绍Nvidia驱动安装,docker安装,docker容器映射Nvidia驱动步骤
1、查看硬件
sudo lspci |grep VGA
sudo lspci | grep NVIDIA
结果如下图所示,这里查看到的显卡是T4卡
2、安装nvidia驱动
ubuntu-drivers devices # 使用ubuntu-drivers工具查看驱动
sudo ubuntu-drivers autoinstall # 自动安装合适的英伟达驱动程序
# 如果没有ubuntu-drivers,使用apt查找
sudo apt search ubuntu-drive # 查找
sudo apt install ubuntu-drivers-common
sudo apt install kubuntu-driver-manager
安装完毕后,运行sudo reboot
, 然后执行nvidia-smi
就可以看到驱动信息了
3、安装docker
sudo apt search docker
Docker io是ubuntu维护的包,docker组维护的为docker-ce,这里找不到docker ce,就安装docker io
sudo apt install docker.io
安装完毕就可以使用docker指令了
sudo gpasswd -a $USER docker # 将当前用户添加到docker组,这样当前用户就可以使用docker了
4、安装nvidia-container-toolkit工具包
如果不安装这个包,创建容器使用gpus参数就会报错
这里麒麟系统是没有相关的仓库的,我们这里复用ubuntu20.04的仓库,点击如下地址:
https://nvidia.github.io/nvidia-container-runtime/ubuntu20.04/nvidia-container-runtime.list
将如下内容(ubuntu20.04也是复用的18.04的)复制到:
/etc/apt/sources.list.d/nvidia-container-runtime.list
没有就自己创建
配置完毕后,执行如下命令更新源
sudo apt update # 更新源
如果出现如下数字签名问题:
添加公钥:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DDCAE044F796ECB0
sudo apt update # 更新源
或者:
curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | sudo apt-key add –
curl -s -L https://nvidia.github.io/nvidia-container-runtime/ubuntu20.04/nvidia-container-runtime.list |sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list # 不用手动创建并添加源了
sudo apt update # 更新源
此时就可以搜索到这个安装包了
sudo apt search nvidia-container-toolkit
sudo apt install nvidia-container-toolkit
sudo systemctl restart docker # 重启docker,否则不生效
如果安装过程出现某些包dpkg安装不上,手动复制相关包路径
Dpkg -i xxx
附上容器创建的模板
#!/bin/bash
set -x
# Default settings
CONTAINER_NAME="ubuntu20.04-TE_nvidia-v2" #容器名
IMAGE_NAME="ubuntu2004_te_nvidia" #所使用的镜像名
TAG_PREFIX="v2" #镜像版本标签
USER_ID="$(id -u)"
XSOCK=/tmp/.X11-unix #这两行为连接相关的设置,保持默认
XAUTH=$HOME/.Xauthority
SHARED_DOCKER_DIR=/root/shared #docker里的映射目录,必须是容器里存在的目录
SHARED_HOST_DIR=xxxxxxxxxxxx #本地的目录,在创建容器之前创建好
#SHARED_DOCKER_DIR2=/root/shared2 #docker里的映射目录2,必须是容器里存在的目录
#SHARED_HOST_DIR2=xxxxxxxxxxxxxxx #本地的目录2,在创建容器之前创建好
VOLUMES="--volume=$XSOCK:$XSOCK:rw
--volume=$XAUTH:$XAUTH:rw
--volume=$SHARED_HOST_DIR:$SHARED_DOCKER_DIR:rw"
#--volume=$SHARED_HOST_DIR2:$SHARED_DOCKER_DIR2:rw"
# Create the shared directory in advance to ensure it is owned by the host user
mkdir -p $SHARED_HOST_DIR
IMAGE=$IMAGE_NAME:$TAG_PREFIX
sudo docker run \
-it \
$VOLUMES \
--gpus all \
--env="XAUTHORITY=${XAUTH}" \
--env="USER_ID=$USER_ID" \
--env=NVIDIA_DRIVER_CAPABILITIES=all \
--env NVIDIA_VISIBLE_DEVICES=all \
--name=$CONTAINER_NAME \
--privileged \
--net=host \
$IMAGE \
/bin/bash
echo "容器创建成功,进入容器... "
至此,结束。
后面再出一个centos的