Since we, like many others, have run into the problem of missing or outdated Debian packages on ubuntu 18.04 again and again, I have invested a little time and tried to build docker images based on ubuntu 20.04.
After taking a closer look at the official base images from Nvidia (NVIDIA NGC) I managed to pass the Nvidia runtime environment into a custom container of mine and rebuild the base and pytorch image on Ubuntu 20.04 accordingly.
In particular, I had to post-install python3.6 and define it as the system default python3 environment to be able to use tensorrt. Furthermore I added ubuntu 18.04 sources as a fallback in the apt lists.
We are currently using the images in conjunction with the ZED sdk (ZED SDK 3.5 - Download | Stereolabs), ros2 and tensorrt and thus were able to migrate to ubuntu 20.
Since the topic keeps coming up I wanted to share the repository herewith:
In the repository I have also linked prebuilt images from docker hub. These were built based on files from JetPack 4.6 . Since the L4T drivers are mounted in the container, I recommend to use the same Jetpack version as host system to prevent potential errors. I also added some system installable run scripts based on Dusty’s run scripts (GitHub - dusty-nv/jetson-containers: Machine Learning Containers for NVIDIA Jetson and JetPack-L4T</ti) that provide the docker flags for x11, usb hot plugging, bluetooth, network, sound etc. .
Since the whole thing is still work in progress I would be very grateful for feedback regarding the functionality and any bugs that may occur.