Transferring Dockers Between Xavier Devices

If a docker image is created on NX with jetpack 4.5, should it work on an AGX with 4.6? We tried but it does not yet work.

Are there any things that should be considered when trying to do such a switch of hardware/OS? For example, you need to keep the jetpack versions the same or you can change jetpack version but you must build on the type of hardware (AGX to AGX and NX to NX).

Kind of in the same vein as my question above. If the original operating system has a bunch of libraries/version installed (like TensorRT or Cuda etc), will the docker container use the tensorRT/CUDA it was built with or will it try and take the versions that were installed on the device already? If the latter, can this be prevented so the docker is self-contained?

Many thanks in advance


You will need to use the same L4T version between container and Jetson.
For example, when switching to JetPack4.6, please update your base into

From JetPack 4.6, we have container with libraries pre-installed and library mounting from the device.
Please use a container that suits your requirement.

For example, l4t-cuda

Currently only CUDA runtime container is provided. The CUDA runtime container image is intended to be used as a base image to containerize and deploy CUDA applications on Jetson and includes CUDA runtime and CUDA math libraries included in it; these components does not get mounted from host by NVIDIA container runtime. NVIDIA container rutime still mounts platform specific libraries and select device nodes into the container.


Just to clarrify one of your points there. So are you saying that we can choose for the container to use its own pre-installed libraries OR we can get the container to use the libraries that are installed on teh device?

So if we want to provide a docked containing our software to a customer that already has an AGX deployed in the field, we should ask them which old jetpack they have and then build a docker image that will match?


We have different containers.

For example, l4t-cuda has libraries installed in the container.
And l4t-ml use the libraries installed from the device.

For the second question: yes.
There are some dependencies from the GPU driver that integrated into the L4T OS.
So you will need to have multiple images for each JetPack version.


This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.