LoginSignup
1
1

More than 3 years have passed since last update.

JetPackでDockerコンテナが立ち上がらない際の対処法

Last updated at Posted at 2021-02-21

問題

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のチップが組み込まれているベンダーのボードを使っている際など)

このケースにはまる人はあまりいないかと思いましたが,同じことをしてしまった人のためにも情報を残しておきます.
ご参考までに.

1
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
1
1