docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].エラーの対処法
dockerコンテナを作成しようとした際、以下のようなエラーが出た。
docker: Error response from daemon: could not select device driver "" with capabilities: gpu.
ERRO[0000] error waiting for container: context canceled
これは「NVIDIAドライバーがDockerを認識できていないか、nvidia container tools をインストールしたけどDockerのデーモンを再起動していない場合に起きる」と以下のサイトに書いてあった。
ただし、自分の解決方法はこのサイトとは異なった。
自分はnvidia公式サイトのSetting up NVIDIA Container Toolkitを参照した。
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker
$ 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
$ curl -s -L https://nvidia.github.io/nvidia-container-runtime/experimental/$distribution/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
$ sudo apt-get update
$ sudo apt-get install -y nvidia-docker2
$ sudo systemctl restart docker
$ sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
$ nvidia-smiの出力があれば、上手くいっている。