Linux下如果還沒裝過docker的話可以參考
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
WSL2在多次更新後也適用和Linux一樣的安裝方式了
21H2後也不用去安裝特殊版的Nvidia driver了
docker desktop在3.1版後內建支援WSL2上的nvidia-docker
WSL內的Docker也可以用Linux的裝法,但有時候可能會遇到小問題
要先把nvidia的package server給加進apt的source list
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
然後就可以直接去裝nvidia-docker套件了
sudo apt-get update
sudo apt-get install -y nvidia-docker2
裝好後記得要去把舊有的docker服務給關掉
sudo service docker restart
用Ubuntu裝的話就不用去設定/etc/docker/daemon.json
"default-runtime":"nvidia","runtimes":{"nvidia":{"path":"nvidia-container-runtime","runtimeArgs":[]}}
有多種image可以進行測試,挑一個自己喜歡的就行
最簡單的就是去看nvidia-smi能不能順利運作
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
Installation Guide — NVIDIA Cloud Native Technologies documentation
WSL 2 GPU Support for Docker Desktop on NVIDIA GPUs - Docker
環境
$ apt show nvidia-docker2
Package: nvidia-docker2
Version: 2.10.0-1
Priority: optional
Section: utils
Maintainer: NVIDIA CORPORATION <cudatools@nvidia.com>
Installed-Size: 27.6 kB
Depends: nvidia-container-toolkit (>= 1.9.0-1), docker-ce (>= 18.06.0~ce~3-0~ubuntu) | docker-ee (>= 18.06.0~ce~3-0~ubuntu) | docker.io (>= 18.06.0)
Breaks: nvidia-docker (<< 2.0.0)
Replaces: nvidia-docker (<< 2.0.0)
Homepage: https://github.com/NVIDIA/nvidia-docker/wiki
Download-Size: 5532 B
APT-Manual-Installed: yes
APT-Sources: https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64 Packages
Description: nvidia-docker CLI wrapper
Replaces nvidia-docker with a new implementation based on the NVIDIA Container Toolkit
$ sudo nvidia-container-cli --load-kmods info
Segmentation fault
$ sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: Running hook #0:: error running hook: signal: segmentation fault, stdout: , stderr:: unknown.
$ docker run -it --gpus=all --rm nvidia/cuda:11.4.2-base-ubuntu20.04 nvidia-smi
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: Running hook #0:: error running hook: signal: segmentation fault, stdout: , stderr:: unknown.
runtime 也沒看到 nvidia
$ docker info | grep runtime
Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
如何排除?
這不是21H2吧 win10只有21H2能用
21H2的OS build number應該會>=10.0.19044
你是對的我的只有到 21H1. 等升級21H2後再來驗證. 謝謝你的回覆