AlmaLinux 9上Docker和NVIDIA Docker安装

系统配置

处理器:Intel Xeon E5-2640 v4

内存:128GB DDR4 REG ECC

硬盘1:512GB SSD

硬盘2:4TB HDD

显示卡:NVIDIA TITAN XP

操作系统:AlmaLinux 9 (Linux 5.14.0)

安装NVIDIA显示卡驱动程序

本步骤操作均在Root环境下进行。

su

添加EPEL存储库并更新缓存:

sudo dnf install epel-release epel-next-release
sudo dnf makecache

安装依赖项:

sudo dnf install kernel-headers-$(uname -r) kernel-devel-$(uname -r) tar bzip2 make automake gcc gcc-c++ pciutils elfutils-libelf-devel libglvnd-opengl libglvnd-glx libglvnd-devel acpid pkgconfig dkms

添加NVIDIA存储库并更新缓存:

sudo dnf config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel9/$(uname -i)/cuda-rhel9.repo
sudo dnf makecache

安装NVIDIA驱动程序:

sudo dnf module install nvidia-driver:latest-dkms

重新启动系统并自动退出Root操作环境:

reboot

安装Docker

安装企业版 Linux 附加软件包(EPEL):

sudo dnf install epel-release epel-next-release

安装依赖项:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加软件源,这里采用阿里云源:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装Docker,这里加入了—allowerasing开关以避免包冲突:

yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin --allowerasing

将当前用户添加到docker组:

sudo gpasswd -a USER_NAME docker

USER_NAME为需要加入docker组的用户名。

设置Docker为开机自启动:

systemctl enable docker

启动Docker:

sudo service docker start

修改Docker默认的镜像存储路径

Docker默认会将拉取的镜像存储到/var/lib/docker目录,为节省系统磁盘空间,可以将其移动到大容量磁盘。这里假设大容量磁盘被挂载到/mnt/hdd1

建立Docker镜像存储路径:

mkdir /mnt/hdd1/docker

编辑/etc/docker/daemon.json文件:

sudo vim /etc/docker/daemon.json

修改字符串值"data-root"(或"graph")的值为具体的存储路径:

 "graph":"/mnt/hdd1/docker",
 "data-root":"/mnt/hdd1/docker",

保存并重启系统:

sudo reboot

安装Docker-Compose

Docker-Compose依赖Python3-Pip。

sudo yum install python3-pip
pip3 install docker-compose

安装NVIDIA Docker

添加软件源并安装NVIDIA Docker。需注意:由于NVIDIA的仓库未收录AlmaLinux的发行版标签,因此使用RedHat 9的发行标签rhel9.0替换了原始地址(https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.repo)中的$distribution变量,具体可参考 https://nvidia.github.io/libnvidia-container/

curl -s -L https://nvidia.github.io/libnvidia-container/rhel9.0/libnvidia-container.repo | tee /etc/yum.repos.d/nvidia-container-toolkit.repo
sudo yum install -y nvidia-docker2

若启动NVIDIA Docker时遇到问题,请编辑/etc/nvidia-container-runtime/config.toml文件,并将no-cgroups的值改为true即:

no-cgroups = true
it
除非特别注明,本页内容采用以下授权方式: Creative Commons Attribution-ShareAlike 3.0 License