在 WSL 的 docker 上找不到 nvidia-smi 可执行文件
nvidia-smi executable file not found on docker in WSL
我在 WSL2 Ubuntu 20.04 上设置了 CUDA,并且能够成功地 运行 命令,例如:
docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
和
docker run -it --gpus all -p 8888:8888 tensorflow/tensorflow:latest-gpu-py3-jupyter
但是
docker run --gpus all --rm nvidia/cuda:10.0-runtime nvidia-smi
给我这个错误,我对 docker 的工作原理没有很好的心理模型:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: exec: "nvidia-smi": executable file not found in $PATH: unknown.
此命令在 docker 之外有效。
nvidia-smi
nvidia-smi
是否在 Docker 之外工作是无关紧要的。错误消息告诉您图像 nvidia/cuda:10.0-runtime
在 $PATH
上没有 nvidia-smi
,这可能意味着它根本没有安装。如果 nvidia-smi
可执行文件在图像上但不在 $PATH
上,那么您只需提供可执行文件的绝对路径。如果可执行文件不在图像上,那么您需要使用不同的图像 在 $PATH
上有 nvidia-smi
,或者通过扩展 nvidia/cuda:10.0-runtime
通过 Dockerfile
或使用不同的图像。
(因为 nvidia-smi
确实是为了开发和系统管理员的目的,所以我并不惊讶标有 runtime
的东西不见了。)
我在 WSL2 Ubuntu 20.04 上设置了 CUDA,并且能够成功地 运行 命令,例如:
docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
和
docker run -it --gpus all -p 8888:8888 tensorflow/tensorflow:latest-gpu-py3-jupyter
但是
docker run --gpus all --rm nvidia/cuda:10.0-runtime nvidia-smi
给我这个错误,我对 docker 的工作原理没有很好的心理模型:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: exec: "nvidia-smi": executable file not found in $PATH: unknown.
此命令在 docker 之外有效。
nvidia-smi
nvidia-smi
是否在 Docker 之外工作是无关紧要的。错误消息告诉您图像 nvidia/cuda:10.0-runtime
在 $PATH
上没有 nvidia-smi
,这可能意味着它根本没有安装。如果 nvidia-smi
可执行文件在图像上但不在 $PATH
上,那么您只需提供可执行文件的绝对路径。如果可执行文件不在图像上,那么您需要使用不同的图像 在 $PATH
上有 nvidia-smi
,或者通过扩展 nvidia/cuda:10.0-runtime
通过 Dockerfile
或使用不同的图像。
(因为 nvidia-smi
确实是为了开发和系统管理员的目的,所以我并不惊讶标有 runtime
的东西不见了。)