LoginSignup
0
1

Dockerで`OCI runtime create failed`が発生したときの対処法

Last updated at Posted at 2024-01-18

はじめに

docker compose upを実行したところ,これまで動いていたはずの環境が以下のエラーにより動かなくなっていた.

error msg
Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #0: error running hook: exit status 1, stdout: , stderr: Auto-detected mode as 'legacy'
nvidia-container-cli: initialization error: nvml error: driver/library version mismatch: unknown

原因究明

まず,目に付くのがOCI runtime create failed & nvidia-container-cli.(ここら辺がよくエラーになるのはどうにかならないものなんですかね……?)
検索したところ,以下の記事がヒット.

読んでいくと,どうやらnvidia-smiを確認しろとのこと.

$ nvidia-smi
Failed to initialize NVML: Driver/library version mismatch
NVML library version: 535.146

原因はこれのようです.

対処法

これについても検索すると以下の記事がヒット

これによると,rebootしろとのことですが,諸事情によりdocker composeを動かしているサーバの電源は落とせなかったので,更に読み進めると以下のコマンドを発見.

本コマンドは元の記事から拾ってきたものです.英語が読める方はそちらを参考にされた方が良いかなと思います.

  1. ロードされているドライバの確認
    $ lsmod | grep nvidia
    nvidia_uvm           1511424  0
    nvidia_drm             77824  1
    nvidia_modeset       1302528  1 nvidia_drm
    nvidia              56659968  2 nvidia_uvm,nvidia_modeset
    drm_kms_helper        311296  1 nvidia_drm
    drm                   622592  5 drm_kms_helper,nvidia,nvidia_drm
    
  2. graphical targetの無効化
    $ systemctl isolate multi-user.target
    
  3. ドライバのアンロード
    $ sudo rmmod nvidia_uvm
    $ sudo rmmod nvidia_drm
    $ sudo rmmod nvidia_modeset
    $ sudo rmmod nvidia
    
  4. nvidia-smiの実行
    $ nvidia-smi
    Thu Jan 18 05:17:56 2024       
    +---------------------------------------------------------------------------------------+
    | NVIDIA-SMI 535.146.02             Driver Version: 535.146.02   CUDA Version: 12.2     |
    |-----------------------------------------+----------------------+----------------------+
    | GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
    |                                         |                      |               MIG M. |
    |=========================================+======================+======================|
    |   0  NVIDIA GeForce RTX 3090        Off | 00000000:2B:00.0 Off |                  N/A |
    |  0%   44C    P0              97W / 350W |      0MiB / 24576MiB |      0%      Default |
    |                                         |                      |                  N/A |
    +-----------------------------------------+----------------------+----------------------+
                                                                                             
    +---------------------------------------------------------------------------------------+
    | Processes:                                                                            |
    |  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
    |        ID   ID                                                             Usage      |
    |=======================================================================================|
    |  No running processes found                                                           |
    +---------------------------------------------------------------------------------------+
    

最後に

OCI runtime create failedの根本的な原因を調査して対策すべきだと思うのですが,調べたものの全く分かりませんでした.
どなたかご存知の方がいればご教示頂けますと幸いです.

参考文献

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1