您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“CentOS7 Nvidia Docker環境如何搭建”,內容詳細,步驟清晰,細節處理妥當,希望這篇“CentOS7 Nvidia Docker環境如何搭建”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
環境:
系統:centos7 7.4 1708
顯卡:nvidia 1080ti
下載所有需要的東東
1、docker-ce yum repo :
2、nvidia-docker yum repo :
3、nvidia cuda yum repo :
4、nvidia cudnn :
這個東西需要注冊nvidia賬號,就不給直接下載地址了。
5、nvidia驅動
按自己的顯卡型號下載
6、nvidia docker file :
這里面可以看到很多dockerfile,選擇
9.0-base-centos7 (9.0/base/dockerfile)
其他的cuda9.1這些應該也可以用,另外有像devel和runtime這樣的,其實就是yum安裝的cuda包不太一樣,沒多大關系。
點進去后復制下來保存為dockerfile文件,但是之后搞的時候發現有點問題,修改了一下,可以從這兒復制
from centos:7 label maintainer "nvidia corporation <cudatools@nvidia.com>" run nvidia_gpgkey_sum=d1be581509378368edeec8c1eb2958702feedf3bc3d17011adbf24efacce4ab5 && \ curl -fssl https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/7fa2af80.pub | sed '/^version/d' > /etc/pki/rpm-gpg/rpm-gpg-key-nvidia && \ echo "$nvidia_gpgkey_sum /etc/pki/rpm-gpg/rpm-gpg-key-nvidia" | sha256sum -c --strict - #copy cuda.repo /etc/yum.repos.d/cuda.repo env cuda_version 9.0.176 env cuda_pkg_version 9-0-$cuda_version-1 #run yum install -y \ # cuda-cudart-$cuda_pkg_version && \ # ln -s cuda-9.0 /usr/local/cuda && \ # rm -rf /var/cache/yum/* # nvidia-docker 1.0 label com.nvidia.volumes.needed="nvidia_driver" label com.nvidia.cuda.version="${cuda_version}" run echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && \ echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf env path /usr/local/nvidia/bin:/usr/local/cuda/bin:${path} env ld_library_path /usr/local/nvidia/lib:/usr/local/nvidia/lib64 # nvidia-container-runtime env nvidia_visible_devices all env nvidia_driver_capabilities compute,utility env nvidia_require_cuda "cuda>=9.0"
所有的文件
[root@localhost nvidia]# pwd /root/nvidia [root@localhost nvidia]# ll total 420000 drwxr-xr-x. 2 root root 4096 feb 10 10:50 centos-gpu -rw-r--r--. 1 root root 3335 jan 29 10:36 cuda-repo-rhel7-9.1.85-1.x86_64.rpm -rw-r--r--. 1 root root 348817823 feb 6 16:26 cudnn-9.0-linux-x64-v7.tgz -rw-r--r--. 1 root root 2424 feb 9 10:36 docker-ce.repo -rw-r--r--. 1 root root 796 feb 9 17:11 nvidia-docker.repo -rwxr-xr-x. 1 root root 81242220 jan 31 14:19 nvidia-linux-x86_64-390.25.run
centos-gpu里有dockerfile文件
準備工作
直接上命令,一看就明白
[root@localhost nvidia]# cp docker-ce.repo nvidia-docker.repo /etc/yum.repos.d/ [root@localhost nvidia]# rpm -ivh cuda-repo-rhel7-9.1.85-1.x86_64.rpm [root@localhost nvidia]# yum install epel-release [root@localhost nvidia]# yum install gcc gcc-c++ [root@localhost nvidia]# yum install kernel*
安裝驅動
[root@localhost nvidia]# echo "blacklist nouveau" >>/etc/modprobe.d/blacklist.conf [root@localhost nvidia]# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak dracut -v /boot/initramfs-$(uname -r).img $(uname -r) [root@localhost nvidia]# init 3 [root@localhost nvidia]# chmod +x nvidia-linux-x86_64-390.25.run [root@localhost nvidia]# ./nvidia-linux-x86_64-390.25.run
大概步驟就是這樣,如果出現問題,可以直接網上找一找,應該不會太難
安裝和啟動docker
[root@localhost nvidia]# yum install docker-ce nvidia-docker [root@localhost nvidia]# systemctl enable docker [root@localhost nvidia]# systemctl start docker [root@localhost nvidia]# systemctl enable nvidia-docker [root@localhost nvidia]# systemctl start nvidia-docker
記得顯卡驅動一定要先裝好,nvidia-docker才能正常啟動
制作docker鏡像
[root@localhost nvidia]# yum install cuda-cudart-9-0-9.0.176-1 [root@localhost nvidia]# ln -s cuda-9.0 /usr/local/cuda [root@localhost nvidia]# nvidia-docker build -t centos-nvidia /root/nvidia/centos-gpu
如果你是用的我修改的dockfile應該不會有什么問題,如果你是用的原版的,可能會在
#copy cuda.repo /etc/yum.repos.d/cuda.repo
出錯,但是咱們已經下載cuda 的 repo,并安裝了,所以這一步可以不用。
鏡像制作結束后,可以用命令 docker images 查看一下:
[root@localhost centos-gpu]# docker images repository tag image id created size centos-nvidia latest a02c8e0ad5ca 2 hours ago 207mb
如果有這一行應該就算是成功了。
生成docker
[root@localhost centos-gpu]# nvidia-docker run --name="centos-gpu2" -ti a02c /bin/bash [root@34d532e76913 /]# nvidia-smi sat feb 10 03:42:20 2018 +-----------------------------------------------------------------------------+ | nvidia-smi 390.25 driver version: 390.25 | |-------------------------------+----------------------+----------------------+ | gpu name persistence-m| bus-id disp.a | volatile uncorr. ecc | | fan temp perf pwr:usage/cap| memory-usage | gpu-util compute m. | |===============================+======================+======================| | 0 geforce gtx 108... off | 00000000:02:00.0 off | n/a | | 23% 17c p8 8w / 250w | 10mib / 11178mib | 0% default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | processes: gpu memory | | gpu pid type process name usage | |=============================================================================| | no running processes found | +-----------------------------------------------------------------------------+ [root@34d532e76913 /]# exit
如果類似于上面的輸出結果,差不多就可以了。
使用docker
[root@localhost centos-gpu]# nvidia-docker ps -a container id image command created status ports names 34d532e76913 a02c "/bin/bash" 3 minutes ago exited (0) 12 seconds ago centos-gpu2 d16c2db2bf2e a02c "/bin/bash" 2 hours ago exited (0) 19 minutes ago centos-gpu 370671db8df1 3afd "/bin/bash" 19 hours ago exited (137) 3 hours ago centos-dronemap [root@localhost centos-gpu]# nvidia-docker start 34d5 34d5 [root@localhost centos-gpu]# nvidia-docker cp /root/nvidia/cuda-repo-rhel7-9.1.85-1.x86_64.rpm 34d532e76913:/root [root@localhost centos-gpu]# nvidia-docker exec -ti 34d5 /bin/bash [root@34d532e76913 /]# cd [root@34d532e76913 ~]# ls anaconda-ks.cfg cuda-repo-rhel7-9.1.85-1.x86_64.rpm [root@34d532e76913 ~]# rpm -ivh cuda-repo-rhel7-9.1.85-1.x86_64.rpm warning: cuda-repo-rhel7-9.1.85-1.x86_64.rpm: header v3 rsa/sha512 signature, key id 7fa2af80: nokey preparing... ################################# [100%] updating / installing... 1:cuda-repo-rhel7-9.1.85-1 ################################# [100%] [root@34d532e76913 ~]# yum install cuda-*9-0*
這里需要注意的是類似于 34d532e76913 這樣的編號,是docker自動生成的,運行的時候需要修改一下。
到目前基本上cuda的環境就搭建好了。
tensorflow
把下載的cudnn包用docker cp復制到docker中,解壓下來,將里面的lib64路徑添加到 /etc/ld.so.conf.d/nvidia.conf 中,運行ldconfig,就ok了。
上面的環境好了以后,再安裝python等等軟件,這就不說了。之后tensorflow的一些例子就可以在docker里運行了。當然你得安裝gpu版本的,才能發揮顯卡的威力。
讀到這里,這篇“CentOS7 Nvidia Docker環境如何搭建”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。