nvidia-docker
項目中的描述資訊中提到: Build and run Docker containers leveraging NVIDIA GPUs, 為了更好地提供一套基於nvidia晶片的GPU服務,則建立的一個開源項目命令集合。
項目地址: https://github.com/NVIDIA/nvidia-docker docker vs nvidia-docker
docker是硬體無關和平台無關的,但是在使用 nvidia GPU的時候,需要依賴nvidia-driver,此時就想到將nvidia driver安裝到Container內,但是Container內的nvidia driver版本要和host主機的版本一樣,所以這樣就不符合docker的平台無關硬體無關的特性了。
現在的nvidia-docker的解決方案是在image裡不安裝nvidia driver,而是在啟動container時通過掛載driver檔案或者指定特定的硬體的方式來啟動container。 安裝前置
distribution= (./etc/os−release;echo ( . / e t c / o s − r e l e a s e ; e c h o (. /etc/os-release;echo ID$VERSION_ID)
設定環境變數;在CentOS 7中,distribution的值為:centos7
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | \
sudo tee /etc/yum.repos.d/nvidia-docker.repo
程式執行的結果輸出為:
[libnvidia-container]name=libnvidia-containerbaseurl=https://nvidia.github.io/libnvidia-container/centos7/$basearchrepo_gpgcheck=1gpgcheck=0enabled=1gpgkey=https://nvidia.github.io/libnvidia-container/gpgkeysslverify=1sslcacert=/etc/pki/tls/certs/ca-bundle.crt[nvidia-container-runtime]name=nvidia-container-runtimebaseurl=https://nvidia.github.io/nvidia-container-runtime/centos7/$basearchrepo_gpgcheck=1gpgcheck=0enabled=1gpgkey=https://nvidia.github.io/nvidia-container-runtime/gpgkeysslverify=1sslcacert=/etc/pki/tls/certs/ca-bundle.crt[nvidia-docker]name=nvidia-dockerbaseurl=https://nvidia.github.io/nvidia-docker/centos7/$basearchrepo_gpgcheck=1gpgcheck=0enabled=1gpgkey=https://nvidia.github.io/nvidia-docker/gpgkeysslverify=1sslcacert=/etc/pki/tls/certs/ca-bundle.crt
安裝指令
yum search nvidia-docker
命令執行輸出結果為:
Loaded plugins: fastestmirror, langpackslibnvidia-container/x86_64/signature | 455 B 00:00:00 Retrieving key from https://nvidia.github.io/libnvidia-container/gpgkeyImporting GPG key 0xF796ECB0: Userid : "NVIDIA CORPORATION (Open Source Projects) <cudatools@nvidia.com>" Fingerprint: c95b 321b 61e8 8c18 09c4 f759 ddca e044 f796 ecb0 From : https://nvidia.github.io/libnvidia-container/gpgkeyIs this ok [y/N]: ylibnvidia-container/x86_64/signature | 2.0 kB 00:00:07 !!! nvidia-container-runtime/x86_64/signature | 455 B 00:00:00 Retrieving key from https://nvidia.github.io/nvidia-container-runtime/gpgkeyImporting GPG key 0xF796ECB0: Userid : "NVIDIA CORPORATION (Open Source Projects) <cudatools@nvidia.com>" Fingerprint: c95b 321b 61e8 8c18 09c4 f759 ddca e044 f796 ecb0 From : https://nvidia.github.io/nvidia-container-runtime/gpgkeyIs this ok [y/N]: ynvidia-container-runtime/x86_64/signature | 2.0 kB 00:00:02 !!! nvidia-docker/x86_64/signature | 455 B 00:00:00 Retrieving key from https://nvidia.github.io/nvidia-docker/gpgkeyImporting GPG key 0xF796ECB0: Userid : "NVIDIA CORPORATION (Open Source Projects) <cudatools@nvidia.com>" Fingerprint: c95b 321b 61e8 8c18 09c4 f759 ddca e044 f796 ecb0 From : https://nvidia.github.io/nvidia-docker/gpgkeyIs this ok [y/N]: ynvidia-docker/x86_64/signature | 2.0 kB 00:00:04 !!! (1/3): libnvidia-container/x86_64/primary | 3.5 kB 00:00:01 (2/3): nvidia-docker/x86_64/primary | 4.0 kB 00:00:02 (3/3): nvidia-container-runtime/x86_64/primary | 4.3 kB 00:00:08 Loading mirror speeds from cached hostfile * base: mirrors.tuna.tsinghua.edu.cn * epel: mirrors.tuna.tsinghua.edu.cn * extras: mirrors.tuna.tsinghua.edu.cn * updates: mirrors.aliyun.comlibnvidia-container 20/20nvidia-container-runtime 29/29nvidia-docker 29/29======================================================================================================= N/S matched: nvidia-docker ========================================================================================================nvidia-docker2.noarch : nvidia-docker CLI wrappernvidia-docker.x86_64 : NVIDIA Docker container tools Name and summary matches only, use "search all" for everything.
yum install nvidia-docker 啟動服務
systemctl start nvidia-docker
systemctl status nvidia-docker
如果未啟動nvidia-docker服務,則容易產生如下問題:
docker: Error response from daemon: create nvidia_driver_390.30: create nvidia_driver_390.30: Error looking up volume plugin nvidia-docker: legacy plugin: plugin not found.
總結 參考資訊
【1】 安裝指南 https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0)
【2】安裝前置說明 https://nvidia.github.io/nvidia-docker/