nvidia-container-runtime 安裝

漫無目的學習筆記
5 min readAug 21, 2020

--

簡單的說,就是讓 docker container 支援使用gpu運算。

首先準備全新安裝的 ubuntu 18.04 系統

安裝 nvidia driver

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
ubuntu-drivers devices

ubuntu-drivers devices 指令會顯示許多可以安裝的版本,這裡是選recommended 的版本

sudo apt-get install nvidia-driver-450

安裝docker

先移除舊版本docker,但我們是全新安裝所以不需要這步。

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

設定 REPOSITORY

安裝 repository 工具

sudo apt-get updatesudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common

新增官方 GPG KEY

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

驗證KEY (可略過)

sudo apt-key fingerprint 0EBFCD88

確認是不是出現以下的訊息

pub   rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) <docker@docker.com>
sub rsa4096 2017-02-22 [S]

新增repository

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

正式安裝 docker engine

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

安裝 nvidia-container-runtime

設定 repository

curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \
sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | \
sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt-get update

安裝

sudo apt-get install nvidia-container-runtime

設定

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/override.conf <<EOF
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --host=fd:// --add-runtime=nvidia=/usr/bin/nvidia-container-runtime
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

設定完重新開機,載入docker image檔

sudo docker load < filename.tar

執行範例,重點是 runtime=nvidia ,這樣才可以確保docker裡的程式可以使用nvidia顯卡的資源。

參考資料:

--

--