docker相當于一個容器,其可以根據(jù)你所需要的運行環(huán)境構(gòu)建相應(yīng)的運行環(huán)境,此時各個環(huán)境之間彼此隔離,就不會存在在需要跑一個新的代碼的時候破壞原來跑的代碼所需要的環(huán)境,各個環(huán)境之間彼此隔離開,好像一個個容器將其隔離開一樣
由于docker只針對在CPU上面跑的情況,對于需要在GPU上面運行的服務(wù)器,其提供了一個nvidia-docker
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP docker
對于怎么在服務(wù)器子賬戶上面搭建nvidia-docker,在百度上個個地方講的都不一樣,因此,在谷歌上查閱了相關(guān)的文檔之后,將在服務(wù)器子賬戶上搭建nvidia-docker的方法陳列如下
簡單的來說,要安裝nvidia-docker總共的步驟分為三步:
Install NVIDIA driver
Install docker
Install nvidia-docker
安裝顯卡驅(qū)動
對于我們的服務(wù)器甚至大多數(shù)服務(wù)器來說,這一步都是在裝機的時候必備的,因此這一步我們直接忽略,具體問題可以百度
安裝docker
docker有兩種可用的版本:社區(qū)辦(CE)和企業(yè)版(EE),正如英偉達顯卡驅(qū)動器,我們需要知道linux版本來選擇合適的安裝文件,以下的安裝版本是在ubuntu16.04上面安裝社區(qū)版
安裝docker步驟如下
首先,我們需要將存在于電腦上的老的版本的docker移除,如果你可以確定這是你第一次在你的機器上安裝docker,那么這一步就可以省略,否則你最好執(zhí)行一下以下的命令
sudo apt-get remove docker docker-engine docker.io
如果docker沒有在你的機器上安裝,那么apt-get將會告訴你這個問題
接下來,我們將安裝docker,推薦從repository(知識庫)里面安裝docker,這樣可以實現(xiàn)當新的版本出現(xiàn)的時候,我們也可以從repository里面很容易的獲得更新
我們?yōu)榱藦膔epository里面安裝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"
在這里,我們就已經(jīng)完成了對知識庫的建立,接下來,我們將更新apt package index并且安裝Docker CE
sudo apt-get update && apt-get install docker-ce
然后這一步過后就是,等待安裝等待安裝,會下載很久,繼續(xù)等待
安裝完docker之后,當然我們需要驗證一下我們所安裝的是否成功
利用著名的hello-world 鏡像來測驗我們安裝的docker是否成功
sudo docker run hello-world
如果得到如下的界面,證明docker安裝成功
安裝nvidia-docker
在下一步,我們將通過安裝nvidia-docker來完成我們的工作,其是在docker中的一個plug來幫助容器在GPU環(huán)境下的使用
首先,我們需要將已有的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正在嘗試下載一些東西
到這里,整個安裝步驟全部結(jié)束了
號外!在有一次服務(wù)器顯卡崩了之后,重新安裝顯卡驅(qū)動之后,竟然“驚喜”地發(fā)現(xiàn)我的nvidia-docker環(huán)境竟然不在了,但是輸入
docker version
時顯示docker是存在的,因此就只需要按照前面的安裝步驟安裝nvidia-docker就可以,安裝成功之后會發(fā)現(xiàn)之前根據(jù)dockerfile搭建的實驗環(huán)境仍然是在的,萬幸!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。