NVIDIA Docker “permission denied: unknown.” on Jetson Nano

I recently bought an NVIDIA Jetson Nano Developer Kit to fiddle around with things like MicroShift or TensorFlow. The board is typically used with L4T (Linux for Tegra) based on Ubuntu 18.04. Fedora can also be installed, although not all drivers (for example for the GPU) are available yet. So after properly updating the system with the latest packages, when starting a container using the nvidia runtime, I got the following error:

docker run -it --rm --runtime nvidia --network host nvcr.io/nvidia/l4t-ml:r32.6.1-py3
[..]
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: error adding seccomp filter rule for syscall clone3: permission denied: unknown.

The root cause for this is an incompatibility between the latest versions of docker.io, containerd and the NVIDIA packages.

So to resolve this issue, downgrade the following two packages:

Download these packages and install them using apt install and then block them from upgrading using apt-mark:

apt install ./containerd_1.5.2-0ubuntu1~18.04.3_arm64.deb ./docker.io_19.03.6-0ubuntu1~18.04.3_arm64.deb
apt-mark hold docker.io containerd

Once this is done, restart docker and then docker run should work as expected. Other solutions (here) suggest to use the nvidia.github.io repositories, but that did not work for me as it lead to other issues.

Hello world

My name is Simon Krenger, I am a Technical Account Manager (TAM) at Red Hat. I advise our customers in using Kubernetes, Containers, Linux and Open Source.

Elsewhere

  1. GitHub
  2. LinkedIn
  3. GitLab