Single Container Environments#
When you create an AI Workbench project, you must choose a starting point for the development environment:
You can use a pre-configured base image from NVIDIA NGC.
Or you can use a custom base image.
Overview of Project Containers#
Workbench handles your development environment in a single container called the project container.
The project container has these properties:
The project container is built on a base image that is pulled from a container registry.
The choice of base image is versioned and kept in the project specification, i.e. the spec.yaml file.
The project creation flow in the Desktop App or CLI has a step for selecting a base image from a set of pre-configured defaults hosted by NVIDIA.
The creation flow also lets you enter a URL for a custom base image, however that base image must satisfy some technical requirements.
You can further customize the environment in a few different ways, both for build and runtime.
Project containers can be customized in the following ways:
You can add packages and configure the container environment, and your changes will be built into the container.
You can use scripts to customize the container environment when it is built.
Workbench will use various runtime configurations you set to determine how the container is run.
NVIDIA Default Containers#
NVIDIA provides default containers that you can choose as the starting point for each new AI Workbench project. Each default environment has Python and JupyterLab pre-installed. The Pytorch environment has TensorBoard installed.
The NVIDIA-provided default environments include the following:
Note
For the full list of available containers, see NVIDIA NGC Containers.
Bring Your Own Container (BYOC)#
You can use your own container as the starting point for a new project.
Using your own container requires some technical work to make sure the base image satisfies these necessary technical requirements:
The base image should be a Debian-based container.
The base image must have image labels according to the Workbench container label specification.
The base image must be published to a container registry that you can access from the host.
Note
Workbench supports pulling containers from private registries on NGC, GitHub.com, GitLab.com, and self-hosted GitLab.
It does not yet support pulling from private registries on other platforms, e.g. DockerHub.
For more information, see Bring Your Own Container.
Customize Your Container Environment#
If the default container environments for AI Workbench do not meet your needs, you can customize your environment in one of the following ways:
If you want to use one of the pre-built containers and make simple customizations, such as adding packages, see Walkthrough: Customize Your Environment and AI Workbench Project Containers.
If you want to change the behavior of the container environment for a single project, see Container Specification.
If you want to create a fully-custom container that you can use for your projects, see Use a Custom Container Image.
Tip
To run additional isolated environments for your project, see Use Multi-Container Environments.