NVIDIA DRIVE Platform Docker Containers

Docker containers encapsulate an executable package that is intended to accomplish a specific task or set of tasks. These tasks can range from flashing a connected embedded device to a complete embedded development environment. Docker simplifies and accelerates development workflows, freeing developers to focus on application development instead of environment configuration and setup. Any host with the Docker runtime installed, such as a developer's or a public cloud instance, can run a Docker container.

NVIDIA DRIVE® Platform Docker Containers leverage the power of Docker to accelerate autonomous vehicle application development workflows, encapsulating DRIVE Platform applications, tools, and technologies into drop-in packages that can be used throughout the development lifecycle.

The DRIVE Platform Docker Containers are available via the NVIDIA GPU Cloud (NGC) Docker Repository and access is managed through membership in NVIDIA Developer Programs.

Host Independence

Allows for indirect support of alternative native hosts (e.g., Ubuntu 16.04, Windows, MacOS).

Isolation

Encapsulates the native host environment from misconfiguration.

Multiple Versions

Multiple platform versions can co-exist without interference.

Consistent Environment

Common environment across development, QA, continuous integration, delivery, and deployment.


Getting Started

1. Download and Install Docker Engine

  • On the host system, download the type of Docker software needed for your organization (Enterprise, Desktop, or other) from https://www.docker.com/.

    If you downloaded Docker as a Debian package (.deb), install Docker using dpkg with a command similar to the following, where <docker.deb> is replaced by the actual filename of the download:

    dpkg -i <docker.deb>

  • Alternatively, download an installation script from https://get.docker.com/ and install Docker on your host system with a command similar to the following:

    wget -qO- https://get.docker.com/ | ${SHELL}

    Note: The minimum required version of Docker Engine to run DRIVE Docker containers is 19.03.


2. NVIDIA GPU Cloud Access

In order to access NGC , you will need an NVIDIA Developer Account and membership in the appropriate NVIDIA Developer Program (such as NVIDIA DRIVE Developer Program for DRIVE AGX). Please register for an account and apply for membership in the appropriate Developer Program before proceeding.

Note: It may take up to several days for access to the Developer Program to be approved.


3. Sign into NVIDIA GPU Cloud

  • On the host system, sign into NGC using your NVIDIA Developer credentials.
  • Once signed in, select "Setup" under the User Menu on the top-right of the page to generate an API key in order to pull Docker images.
  • From the command line on your host system, log on to NVIDIA GPU Cloud with your username and API key with the following command, replacing
    ${YOUR_USERNAME}
    and
    ${YOUR_API_KEY}
    with username and API key respectively.
    sudo docker login -u="${YOUR_USERNAME}" -p "${YOUR_API_KEY}" nvcr.io

    Note: ${YOUR_USERNAME} is commonly $oauthtoken. Please note the $ is part of the username.

After you log in, you will have access to the relevant NVIDIA DRIVE Docker images, depending on your specific permissions in the registry.


4. Pull Docker Images from NGC

  • Log in to the NVIDIA GPU Cloud (NGC) using instructions in the previous section.
  • On the host system, pull the image using the following command:
    sudo docker pull nvcr.io/<org>/<team>/<container>
    where <org>, <team>, and <container> specify the path to the Docker image.
  • After successfully pulling the Docker image, see the documentation for the specific container for further usage instructions.