GPUマシンでdocker run
時以下のようなエラーが出た場合。
nvidiaのdriverが古くて利用したいdocker image とミスマッチになっている場合に出るみたい。
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.8, please update your driver to a newer version, or use an earlier cuda continer\\\\n\\\"\"": unknown.
みんなで、開発しているとnvidiaのdriverをすぐに更新できないことも多い。(他の人のコンテナな起動できなくなってしまったら困る)
その場合は以下で一旦解決できることがある。
docker 起動時に以下の環境変数NVIDIA_DISABLE_REQUIRE
を設定すればよい。
docker run --gpus all \
-itd --privileged=true \
-e NVIDIA_DISABLE_REQUIRE=true \ ★これ
--name ${CONTAINER_NAME} ${IMAGE_NAME}
ただし、コンテナの動作中に動作は保証されてないようですが、だいたいうまくいく。
メインバージョンの差はスキップしてくれる。11 or 12 は無理だと思う。