JetPackでDockerコンテナが立ち上がらない際の対処法
問題
JetsonでJetPackを使ってTegraのコンテナを立ち上げる際に以下のようなエラーが出ることがある.
$ docker run --runtime nvidia -it nvcr.io/nvidia/l4t-base:r32.4.4
...
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 1 caused \\\"error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: driver error: failed to process request\\\\n\\\"\"": unknown
大抵は,以下が原因のことが多い.
- NVIDIAが用意しているTegraのコンテナを使っていない
nvidia/cuda:10.1-base-ubuntu18.04を使ってたり - インストールされているJetPackと一致しないTegraのコンテナを使用している
ここからTegraのコンテナの一覧は確認できる
以下でJetPackのバージョンは確認できる
$ cat /etc/nv_tegra_release
これで解決しなかったケースがあったので,備忘録的に記載.
解決
JetPackのバージョンとTegraのコンテナのバージョンが一致しているが,エラーが出た.
原因としては,JetPackにはnvidia-docker2が元から入っているが,誤って更新してしまったことにある.
(Ubuntuと同じようにnvidia-docker2をインストールした)
ので,以下のコマンドで再インストール.
$ sudo apt remove nvidia-docker2
$ sudo apt autoremove
リポジトリの追加などしている場合は削除する...
主に下記ファイルを削除
/etc/apt/sources.list.d/nvidia-docker.list
$ sudo apt update
$ sudo apt install nvidia-docker2
これで無事Tegraの機能をもったコンテナを立ち上げることができた.
まとめ
このエラーに関しては,NVIDIAのフォーラムでも議題にあがっていることが多い印象.
最終的にはJetPackを再インストールした,という解決方法が多い.
が,それをできないケースも存在する.
(NXやAGXのチップが組み込まれているベンダーのボードを使っている際など)
このケースにはまる人はあまりいないかと思いましたが,同じことをしてしまった人のためにも情報を残しておきます.
ご参考までに.
Author And Source
この問題について(JetPackでDockerコンテナが立ち上がらない際の対処法), 我々は、より多くの情報をここで見つけました https://qiita.com/Yukimura127/items/688c13a03ad6ac2f5388著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .