[Docker]Docker官方起步指南學習筆記⑥——nvidia-docker在19.03+版本下的安裝

[@toc]


參考資料:
Get Docker Engine - Community for Ubuntu
nvidia-docker#Quici Start


新舊Docker的差異

本文中的docker默認爲CE版,即社區版;對於個人或小型實驗室而言已然足夠。

現在不少網上的教程對新版dockernvidia-docker的安裝已經不再適用了,最大的區別在於nvidia-docker2已經被廢棄,nvidia-docker已經支持原生的docker虛擬設備。

最直觀的體驗就是——你不再需要使用nvidia-docker指令來進行docker指令操作,一旦安上了最新版的dockernvidia-docker軟件包,你的所有docker鏡像/容器都將擁有使用N系GPU的權利。

需要注意的是:

  1. 你的Linux系統中應當裝好了NVIDIA的驅動;
  2. 你的docker版本在19.03+;

你可以使用docker -v指令來檢查你的docker版本。如果版本過於落後,請使用:

sudo apt-get remove docker docker-engine docker.io containerd runc

移除舊版docker(該指令不會移除系統中現有的配置文件、鏡像和容器)。

如果你安裝過舊版的nvidia-docker,你可能還需要執行以下命令:

sudo apt-get remove nvidia-docker nvidia-docker2 docker-ce

此外,如果你有強迫症,還可以移除舊版的依賴包(此操作爲可選項,畢竟刪了可能待會兒換新版還要再裝回來):

sudo apt-get autoremove docker

如果要還要移除鏡像和容器,請直接移除/var/lib/docker目錄下的文件;使用apt-get purge <包名>移除配置文件。

安裝新版docker

以下安裝針對19.03.2版本(2019.9月最新)左右的docker for ubuntu,不同版本請查看:
Get Docker Engine - Community for Ubuntu

如果你之前沒有安裝過docker或移除了舊版本的docker,你需要使用以下指令進行它的安裝:

  1. 以防萬一,先更新軟件索引:
sudo apt-get update
  1. 安裝一些附屬包,允許apt使用HTTPS安裝軟件:
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
  1. 下載、添加官方的GPG密鑰:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  1. 選擇stable版本的apt倉庫:(注意:此處僅針對Ubuntu x86_64/amd64,不同版本或系統位數請上開頭給出的官方文檔查看)
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
  1. 更新apt倉庫的索引並安裝:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. 運行hello-world測試:
sudo docker run hello-world

(Options)設置國內倉庫

以Ubuntu和阿里雲鏡像庫爲例:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [你的阿里雲鏡像地址]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

安裝新版nvidia-docker

新版nvidia-docker的十分簡便,從安裝到測試只有兩個步驟:(以Ubuntu 16.04/18.04爲例)

  1. (Ubuntu 16.04/18.04)添加apt倉庫地址、密鑰和nvidia工具集:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get update 
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
  1. 測試是否安裝成功(前提是已經安裝顯卡驅動):
docker run --gpus all nvidia/cuda:9.0-base nvidia-smi

理論上應該會打印你的顯卡信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章