在linux服務器上搭建nvidia-docker環境


docker相當於一個容器,其可以根據你所需要的運行環境構建相應的運行環境,此時各個環境之間彼此隔離,就不會存在在需要跑一個新的代碼的時候破壞原來跑的代碼所需要的環境,各個環境之間彼此隔離開,好像一個個容器將其隔離開一樣

由於docker只針對在CPU上面跑的情況,對於需要在GPU上面運行的服務器,其提供了一個nvidia-docker

sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP docker

 

對於怎么在服務器子賬戶上面搭建nvidia-docker,在百度上個個地方講的都不一樣,因此,在谷歌上查閱了相關的文檔之后,將在服務器子賬戶上搭建nvidia-docker的方法陳列如下

簡單的來說,要安裝nvidia-docker總共的步驟分為三步:

Install NVIDIA driver
Install docker
Install nvidia-docker
  • 安裝顯卡驅動

對於我們的服務器甚至大多數服務器來說,這一步都是在裝機的時候必備的,因此這一步我們直接忽略,具體問題可以百度

 

  • 安裝docker

docker有兩種可用的版本:社區辦(CE)和企業版(EE),正如英偉達顯卡驅動器,我們需要知道linux版本來選擇合適的安裝文件,以下的安裝版本是在ubuntu16.04上面安裝社區版

安裝docker步驟如下

  • 首先,我們需要將存在於電腦上的老的版本的docker移除,如果你可以確定這是你第一次在你的機器上安裝docker,那么這一步就可以省略,否則你最好執行一下以下的命令
sudo apt-get remove docker docker-engine docker.io

如果docker沒有在你的機器上安裝,那么apt-get將會告訴你這個問題

  • 接下來,我們將安裝docker,推薦從repository(知識庫)里面安裝docker,這樣可以實現當新的版本出現的時候,我們也可以從repository里面很容易的獲得更新

         我們為了從repository里面安裝docker,我們需要首先建立docker repository,通常,我們需要更新apt包

  • 更新apt package index
sudo apt-get update
  • 然后,安裝軟件包以允許apt通過HTTP
sudo apt-get install \
    apt-transport-https \ ca-certificates \ curl \ software-properties-common
  • 接下來,加入docker的官方GPG密鑰
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo pt-key add -
  • 驗證下列指令輸出的是9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
sudo apt-key fingerprint 0EBFCD88
  •  接下來,通過運行下面的指令告訴apt用stable repository
sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ (usb_release -cs) \ stable"
  • 在這里,我們就已經完成了對知識庫的建立,接下來,我們將更新apt package index並且安裝Docker CE
sudo apt-get update && apt-get install docker-ce

然后這一步過后就是,等待安裝等待安裝,會下載很久,繼續等待

 

  • 安裝完docker之后,當然我們需要驗證一下我們所安裝的是否成功

利用著名的hello-world 鏡像來測驗我們安裝的docker是否成功

sudo docker run hello-world

如果得到如下的界面,證明docker安裝成功

 

  • 安裝nvidia-docker

在下一步,我們將通過安裝nvidia-docker來完成我們的工作,其是在docker中的一個plug來幫助容器在GPU環境下的使用

首先,我們需要將已有的nvidia-docker移除

docker volume ls -q -f driver=nvidia-docker |xargs -r -I{} -n1 docker ps -q -a -f volum={} | xargs -r docker
sudo apt-get purge -y nvidia-docker

以前沒有安裝過的話這一步可以直接跳過

 

接下來,我們將加入必要的repository,然后更新apt package index

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
    sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | \ sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update

 

最后,我們將安裝nvidia-docker

sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

 

安裝成功之后,對我們所安裝的nvidia-docker進行驗證

docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi

如果這是你第一次用如下的指令,你可以看到docker正在嘗試下載一些東西

到這里,整個安裝步驟全部結束了

 

 

號外!在有一次服務器顯卡崩了之后,重新安裝顯卡驅動之后,竟然“驚喜”地發現我的nvidia-docker環境竟然不在了,但是輸入

docker version

時顯示docker是存在的,因此就只需要按照前面的安裝步驟安裝nvidia-docker就可以,安裝成功之后會發現之前根據dockerfile搭建的實驗環境仍然是在的,萬幸!

 

轉載於:https://www.cnblogs.com/Cucucudeblog/p/10425978.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM