天天看點

docker安裝使用系列三之nVidia-docker安裝與使用

       由于預設安裝的docker都是基于cpu版本的,如果想要配合GPU進行一些簡單的部署的話,則需要安裝nvidia-docker來結合使用。想要安裝nvidia-docker版本,前提需要你的硬體支援gpu加速(nvidia系列),同時先安裝好了nvidia驅動和cuda以及cudnn和docker基礎版,接下來需要做的如下(以下是基于ubuntu18.04進行安裝的docker-ce基礎上進行安裝,如果是centos請參考https://blog.csdn.net/u014069688/article/details/100532774):

(1)配置

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -   ##擷取gpg密鑰并添加密鑰
curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu18.04/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list  ##擷取ubuntu18.04版本的nvidia-docker清單,結果傳回給标準輸出
sudo apt-get update
           

(2)安裝

$sudo apt-get install nvidia-docker2   ###ubuntu安裝,centos則換成yum search --showduplicates nvidia-docker,yum install nvidia-docker:xxx
$sudo pkill -SIGHUP dockerd    ###重新加載docker守護程序配置
$docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi  ###測試
           

如果測試出現了error,極有可能是新的cuda與系統核心版本不比對了,可以嘗試指定cuda版本資訊即可。

$sudo nvidia-docker run --rm nvidia/cuda:10.0-devel nvidia-smi
           

(3)使用

可以單獨安裝指定版本的tf-gpu包資訊

docker run --runtime=nvidia -it --rm tensorflow/tensorflow:1.14.0-gpu-py3  ###安裝tf-gpu:1.14
           

也可以先配置好cuda等,然後再依次配置好各種需要的庫,最後再commit成最終的項目鏡像。以配置tf-gpu:1.14版為例,

sudo nvidia-docker run -it  nvidia/cuda:10.0-base  ###如果沒有安裝cuda10.0會先自動下載下傳,然後再進入
apt install cuda-toolkit-10-0  ###官方拉取的鏡像不完整,需要進行這一步

###進入/usr/local/cuda-10-0下檢視檔案是否齊全,有沒有bin檔案,然後再将cuda添加到環境變量中,同時需要安裝配置cudnn,完成整體環境配置

####由于配置的cuda環境很簡陋,需要自己配置python和pip
apt-get install python3-pip

###然後利用pip3進行包的安裝
pip3 install tensorflow-gpu==1.14 -i https://pypi.douban.com/simple

###将安裝好的打包成新的鏡像
nvidia-docker ps -a
nvidia-docker commit 容器id 新的鏡像
           

後來在網上又找到一種新的方法,直接配置一個帶有cuda和cudnn的Linux環境,然後再依次添加需要的庫

docker pull nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04
           

需要着重說明的一點就是啟動帶gpu的鏡像需要用下面的方式

sudo nvidia-docker run -it xxx_id  ###而不是sudo docker run -it xxx_id !!!!
           

參考連結:

1、Ubuntu18.04安裝nvidia-docker(親測有效,步驟詳盡)

2、Ubuntu18.04安裝docker-ce、顯示卡驅動、以及nvidia-docker

3、安裝NVIDIA-DOCKER

4、nvidia官網:https://github.com/NVIDIA/nvidia-docker

5、Cuda in docker: nvcc command not found解決方法

6、顯示卡,顯示卡驅動,nvcc, cuda driver,cudatoolkit,cudnn到底是什麼

7、【Docker】如何修改Docker的預設鏡像存儲位置(二)

上一篇: 頭部吸頂
下一篇: NVIDIA-Docker

繼續閱讀