NVIDIA GPU Driver Version (valid for GPU only) 610 open
Question
What is the recommended minimal size docker base image to deploy a compiled C++ binary as part of a Docker Image.
There seem to be only two images supported:
deepstream-9.1:triton-multiarch:
This seems to be the “large” one with still > 12 Gigabytes, containing all samples and dev dependencies
deepstream-9.1:samples:
this is a little bit smaller but still huge.
I already created a split approach having a base image with additional installs like gstreamer-rs plugins for webrtc, but this base image is 18 Gigabytes, then my release image only adds the compiled binary ~5MB to it.
If i ever need to update the base image accross the fleet downloading ~20 Gigabytes per machine is a no-go, as in deepstream 9.2 updates etc.. This size seems like it is bloated and contains thinges i will never use in production.
What ways does nvidia recommend to deploy deepstream based applications in 2026?
You could consider building your own Docker image from dockerfile.
If you want to minimize the image size, you could remove unused video/.so files from the image.
Noting that you’re using Orin. I don’t recommend Docker deployment because Docker images depend on the Jetpack version; host deployment is generally a better recommendation.
before i go through the effort to create my own deepstream docker file.
can you estimate the reduction in size.
Only saving on some .so files seems like its not worth it.
I was talking like tools that are never used, nsight systems for example.
Where does the 14 Gigabyte difference between the base cuda image and the deepstream images come from?
if docker deployment is not recommendet, why are you providing Dockerfiles specifically for jetson?
I dont see a different way, as our services are deployed using k8s
No relevant data is currently available.
The increased size includes the gstreamer base library, TensorRT, tritonserver(for nvinferserver), deepstream libraries, deepstream sdk test videos, etc.
This is just a suggestion that it’s not recommended. If you’re using Kubernetes, please continue to use container deployment.
my pipeline is not using tritonserver.
also the test videos are not needed as well, are these also contained in the samples docker image?
if so, then i will give it a shot to build my own base image
Compared to the TensorRT base image, the samples-multiarch image adds only about 2 GB. Libraries related to Triton Inference Server have been removed from samples-multiarch; Disk USAGE refers to the space occupied after extraction; this is related to Docker image layers, This is not something DeepStream can handle.
IMAGE ID DISK USAGE CONTENT SIZE
nvcr.io/nvidia/cuda:13.0.0-tensorrt-runtime-ubuntu24.04 198208c45877 9.69GB 4.19GB
nvcr.io/nvidia/deepstream:9.1-samples-multiarch 4f80b374e4a5 16.2GB 6.39GB
The /opt/nvidia/deepstream/deepstream-9.1/samples directory within the image—containing models and test video files—accounts for approximately 624 MB.
Whether the other directories can be deleted depends on your application.
root@d6ec4519c615:/opt/nvidia/deepstream/deepstream-9.1/samples# ls
configs models prepare_classification_test_video.sh prepare_ds_triton_model_repo.sh prepare_ds_triton_tao_model_repo.sh streams triton_backend_setup.sh triton_model_repo triton_tao_model_repo trtis_model_repo
root@d6ec4519c615:/opt/nvidia/deepstream/deepstream-9.1/samples# du -sh .
624M .