CentOS7.0(1406)离线安装Nvidia Docker

一、CentOS

1、制作本地软件源(联网机器上操作)

首先在联网的机器上制作本地软件源,要保证联网的机器和不联网的机器操作系统版本一样。

#修改yum配置文件,保留安装包

sudo vi /etc/yum.conf

#找到keepcache参数,设置为1

 

#因为Docker支持的只支持最新的内核版本,所以需要升级

sudo yum -y update

#或者只更新内核

#sudo yum -y update kernel

sudo reboot

 

#下载并安装需要使用的工具

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

 

#添加阿里的Docker源(也可以使用其他的Docker源)

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

 

#更新并安装Docker-CE

sudo yum makecache fast

#因为nvidia-docker和docker的版本有兼容问题,随意最好安装最新版本的前一两个版本

sudo yum -y install docker-ce-18.09.0-3.el7

 

#启动Dcoker服务,并测试

sudo systemctl start docker

sudo docker version

 

# Add the Nvidia Docker package repositories

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.repo

 

# Install nvidia-docker2 and reload the Docker daemon configuration

sudo yum install -y nvidia-docker2-2.0.3-1.docker18.09.0.ce.noarch

sudo pkill -SIGHUP dockerd

 

# Test nvidia-smi with the latest official CUDA image

sudo docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi

 

#创建本地目录

sudo mkdir -p /yum/local

 

#拷贝所有缓存的rpm包

sudo find /var/cache/yum/x86_64/$VERSION_ID/ -name "*.rpm" | xargs -i cp {} /yum/local

 

#创建repo文件

sudo vi /etc/yum.repos.d/CenOS-Local.repo

#输入以下内容

[Local]

name=Local Yum

baseurl=file:///yum/

gpgcheck=0

gpgkey=

enabled=1

 

2.安装本地软件源(不联网机器上操作)

注意:确认屏蔽其他的联网软件源:在/etc/yum.repos.d目录下,把所有的联网软件源的repo文件都暂时修改名字。

#把本地软件源的repo文件拷贝到系统中

sudo cp CenOS-Local.repo /etc/yum.repos.d

 

#针对repo文件中的baseurl创建目录

sudo mkdir -p /yum/local

#把所有的rpm包拷贝到/yum/local中

 

#安装系统工具createrepo及依赖包(软件包名称中的版本号根据实际情况可以修改)

sudo rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm

sudo rpm -ivh libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm

sudo rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm

sudo rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm

 

#建立本地软件源

sudo createrepo /yum

sudo yum clean all

sudo yum makecache

 

#安装Docker,启动服务,测试

sudo yum -y install docker-ce

sudo service docker start

sudo docker version

 

#安装nvidia docker

sudo yum install -y nvidia-docker2

sudo pkill -SIGHUP dockerd

 

3.CentOS安装显卡驱动

#安装系统工具

sudo yum -y install gcc kernel-devel kernel-headers epel-release dkms

sudo yum install -y "kernel-devel-uname-r == $(uname -r)"

 

sudo vim /etc/default/grub

在“GRUB_CMDLINE_LINUX”中添加:

rd.driver.blacklist=nouveau nouveau.modeset=0

 

#生成配置

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

 

#修改配置文件,屏蔽nouveau驱动

sudo vim /lib/modprobe.d/dist-blacklist.conf

sudo vim /etc/modprobe.d/blacklist.conf

#将nvidiafb注释掉。

blacklist nvidiafb

然后添加以下语句:

blacklist nouveau

options nouveau modeset=0

 

#重做 initramfs 镜像

sudo cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

sudo dracut --force /boot/initramfs-$(uname -r).img $(uname -r)

 

#runlevel 改为 3,重启

sudo init 3

sudo reboot

 

#查看nouveau是否已经禁用,命令执行结果应该为空

lsmod | grep nouveau

 

#安装驱动,注意kernel的版本、驱动文件版本要按照实际的系统修改

sudo ./NVIDIA-Linux-x86_64-410.79.run --kernel-source-path=/usr/src/kernels/3.10.0-693.5.2.el7.x86_64 -k $(uname -r)

3.1在线升级内核

如果安装驱动的过程中,内核的头文件无法安装(sudo yum install -y "kernel-devel-uname-r == $(uname -r)"),就需要升级系统内核 ,内核的版本要和之前安装的kernel-devel版本对应。

#导入Key

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

 

#安装elrepo的yum源

sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

 

#安装内核

sudo yum --enablerepo=elrepo-kernel  install  kernel-lt -y

3.2离线升级内核

需要首先在联网的机器上制作本地软件源,再到不联网的机器上安装。本地软件源制作参考前面的描述,这里就不详细说明了。

#下载对应版本的内核rpm包,需要与之前安装的kernel-devel的版本对应

wget http://ftp.scientificlinux.org/linux/scientific/7.0/x86_64/updates/security/kernel-3.10.0-957.1.3.el7.x86_64.rpm

 

#安装内核

sudo yum install kernel-3.10.0-123.1.2.el7.x86_64.rpm

 

#重启

sudo reboot

 

你可能感兴趣的:(CentOS7.0(1406)离线安装Nvidia Docker)