Docker Containers

DeepStream 5.0 provides Docker containers for both dGPU and Jetson platforms. These containers provide a convenient, out-of-the-box way to deploy DeepStream applications by packaging all associated dependencies within the container. The associated Docker images are hosted on the NVIDIA container registry in the NGC web portal at https://ngc.nvidia.com. They leverage the nvidia-docker package, which enables access to GPU resources from containers, as required by DeepStream applications. The rest of this section describes the features supported by the DeepStream Docker container for the dGPU and Jetson platforms.
Note:
The DeepStream 5.0 containers for dGPU and Jetson are distinct, so you must take care to get the right image for your platform.

A Docker Container for dGPU

The DeepStream 5.0 container for dGPU is kept in the “Inference” section of the NGC web portal. The “Container” page gives instructions for pulling and running the container, along with a description of its contents.
Unlike the container in DeepStream 3.0, the dGPU DeepStream 5.0 container supports DeepStream application development within the container. It contains the same build tools and development libraries as the DeepStream 5.0 SDK.
In a typical scenario, you build, execute and debug a DeepStream application within the DeepStream container. Once your application is ready, you can create your own Docker container holding your application files (binaries, libraries, models, configuration file, etc.), using the DeepStream 5.0 container as a base image and adding your application-specific files to it. Here is a snippet which shows how a Dockerfile for creating your own Docker container might look:
FROM nvcr.io/nvidia/ deepstream:5.0-dp-20.04-<container type>
COPY myapp /root/apps/myapp
# To get video driver libraries at runtime (libnvidia-encode.so/libnvcuvid.so)
# Replace with required container type e.g. base, devel etc in the following line
FROM nvcr.io/nvidia/ deepstream:5.0-dp-20.04-<container type>
ENV NVIDIA_DRIVER_CAPABILITIES $NVIDIA_DRIVER_CAPABILITIES,video
This Dockerfile copies your application (from directory mydsapp) into the container (pathname /root/apps). Note that you must ensure that the DeepStream 5.0 image location from NGC is accurate.
Table below lists the docker containers for dGPU released with DeepStream 5.0
Container
Container URL
base docker
docker pull nvcr.io/nvidia/deepstream:5.0-dp-20.04-base
devel docker
docker pull nvcr.io/nvidia/deepstream:5.0-dp-20.04-devel
Triton Inference Server docker with Triton Inference Server and dependencies installed
docker pull nvcr.io/nvidia/deepstream:5.0-dp-20.04-triton
DeepStream IoT docker with deepstream-test5-app installed and all other reference applications removed.
docker pull nvcr.io/nvidia/deepstream:5.0-dp-20.04-iot
DeepStream samples docker
docker pull nvcr.io/nvidia/deepstream:5.0-dp-20.04-samples
Please check Release Notes for information regarding nvcr.io authentication and more.

A Docker Container for Jetson

DeepStream 5.0 supports containers on the Jetson platform. As of JetPack release 4.2.1, NVIDIA Container Runtime for Jetson has been added, allowing you to run GPU-enabled containers on Jetson devices. Leveraging this capability, DeepStream 5.0 can be run inside containers on Jetson devices using Docker images made available on NGC.
A DeepStream 5.0 container for Jetson is present in the “Inference” section of the NGC container registry. Pull the container and execute it according to the instructions on the container page on NGC.
The DeepStream container expects CUDA, TensorRT, and VisionWorks to be installed on the Jetson device, since it is mounted within the container from the host. Make sure that these utilities are installed using JetPack on your Jetson prior to launching the DeepStream container.
Note that the Jetson Docker containers are for deployment only. They do not support DeepStream software development within a container. You can build applications natively on the Jetson target and create containers for them by adding binaries to your Docker images. Alternatively, you can generate Jetson containers from your workstation using instructions in the NVIDIA Container Runtime for Jetson documentation. See the section “Building Jetson Containers on an x86 Workstation.”
The table below lists the docker containers for Jetson released with DeepStream 5.0:
Container
Container URL
Base docker
docker pull nvcr.io/nvidia/deepstream-l4t:5.0-dp-20.04-base
DeepStream IoT docker with deepstream-test5-app installed and all other reference applications removed.
docker pull nvcr.io/nvidia/deepstream-l4t:5.0-dp-20.04-iot
DeepStream samples docker
docker pull nvcr.io/nvidia/deepstream-l4t:5.0-dp-20.04-samples
Please check Release Notes for information regarding nvcr.io authentication and more.