docker,以及nvidia_docker安裝

2020-09-25 12:01:01

安裝docker

設定索引庫

  1. 更新apt包索引
$ sudo apt-get update  

在這裡插入圖片描述
2. 安裝包以允許通過HTTPS使用儲存庫:

$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

在這裡插入圖片描述
3. 新增Docker的官方GPG金鑰:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$  sudo apt-key fingerprint 0EBFCD88

在這裡插入圖片描述
在這裡插入圖片描述
4. 使用以下命令設定穩定儲存庫。即使您還想從邊緣或測試儲存庫安裝構建,您始終需要穩定的儲存庫。要新增邊緣或測試儲存庫,請在以下命令中的單詞stable之後新增單詞edge或test(或兩者)

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

注:$(lsb_release -cs)可被替代,Ubuntu18.04對應的是bionic,Ubuntu16.04對應的是xenial

此時有個坑,當新增錯誤時,在update會報錯。需要把錯誤的新增刪除,再update。
在這裡插入圖片描述

安裝docker ce

  1. 更新apt索引庫
sudo apt-get update

a. 安裝最新版本的docker CE

$ sudo apt-get install docker-ce

b. 或安裝指定版本:

  • 列出倉庫中的可用版本
$ apt-cache madison docker-ce
docker-ce | 18.03.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
  • 通過其完全限定的包名稱安裝特定版本,即包名稱(docker-ce)「=」版本字串(第2列),例如,docker-ce = 18.03.0ce-0ubuntu。
$ sudo apt-get install docker-ce=<VERSION>
  1. 檢視docker ce版本
$ docker -v 

檢測是否正確安裝

通過執行hello-world映像驗證是否正確安裝了Docker CE。

sudo docker run hello-world

nvidia docker

Docker版本需滿足大於19.03,在這個基礎上安裝nvidia-container-toolkit即開啟Docker GPU加速。

基礎環境:Ubuntu 16.04/18.04, Debian Jessie/Stretch/Buster

# Add the package repositories
$ 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

使用範例:

#### Test nvidia-smi with the latest official CUDA image
$ docker run --gpus all nvidia/cuda:9.0-base nvidia-smi

# Start a GPU enabled container on two GPUs
$ docker run --gpus 2 nvidia/cuda:9.0-base nvidia-smi

# Starting a GPU enabled container on specific GPUs
$ docker run --gpus '"device=1,2"' nvidia/cuda:9.0-base nvidia-smi
$ docker run --gpus '"device=UUID-ABCDEF,1"' nvidia/cuda:9.0-base nvidia-smi

# Specifying a capability (graphics, compute, ...) for my container
# Note this is rarely if ever used this way
$ docker run --gpus all,capabilities=utility nvidia/cuda:9.0-base nvidia-smi