Docker --OCIC runtime create failed error ("process_linux.go: 449: container init caused \")

error contents

$ sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

~abridgement~

docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"process_linux.go:432: running prestart hook 0 caused \\\"error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: requirement error: unsatisfied condition: cuda>=11.0, please update your driver to a newer version, or use an earlier cuda container\\\\n\\\"\"": unknown.

Introduction

It is a commandment for myself who did not read all the error sentences and copied and pasted due to brain death. If you google for brain death with such a simple error, it will not grow into a single line. There is only reflection. (Since he even wrote down what to do carefully, a gentle error sentence ...)

Host environment

Conclusion

The cause is that the version of the currently installed NVIDIA driver is low and it does not support CUDA 11.0 or higher. Hit nvidia-smi and the CUDA Version column must be 11.0 or higher.

Also,

vidia-container-cli: requirement error: unsatisfied condition: cuda>=11.0, please update your driver to a newer version, or use an earlier cuda container

I reconfirmed that I had to fix the habit of throwing it to Google without reading all the error sentences.

From the above, let's update the NVIDIA driver.

Normally, since the version of CUDA of the host machine was 10.0, there was no error in the consistency between the driver and CUDA, so it is a good opportunity to leave the procedure for reinstalling the driver for the time being. Also, since I directly run the run file manually to install it, I think it's okay if you use apt to upgrade by following the apt procedure.

Reinstallation procedure

This time, since the latest driver supports CUDA 11.0 or lower, we aim to set CUDA Version to 11.0 by hitting nvidia-smi.

  1. Uninstall the driver with sudo nvidia-uninstall.
  2. Reboot
  3. Get the latest driver from Official Site. (Here, NVIDIA-Linux-x86_64-450.80.02.run is downloaded.)
  4. Install the driver with sudo bash NVIDIA-Linux-x86_64-450.80.02.run.
  5. Reboot

Summary

Even when writing a program, I often read a little error sentences that I see for the first time and search immediately with the spirit of using the wisdom of my predecessors, so I would like to try to read the error sentences firmly from now on. .. Also, recently, I made it possible to use the GPU on the container using Docker, although it was late, but I should have done it earlier.

Recommended Posts

Docker --OCIC runtime create failed error ("process_linux.go: 449: container init caused \")
I tried to use docker with jetson jetpack4.3 but got an error (docker: Error response from daemon: OCI runtime create failed: container_linux.go: 345: starting container process caused ...)
Install Docker and create Java runtime environment
Error response from daemon: conflict: Conflict when trying to create Docker container, so solution