Step #3: Pulling Docker Images from NGC
Now that your machine is properly configured for Docker and authenticated with NGC, you can now pull images from NGC. You may browse the available images by navigating to ngc.nvidia.com in a web browser. In the menu on the left of the screen, you will see a “Containers” button under the “Catalog” drop down. Clicking the “Containers” button will show the list of hosted Docker images.
The list can be filtered or searched for a specific image that fits the needs of your application. For our purposes, we will use the latest PyTorch image which includes a tuned version of upstream PyTorch which supports NVIDIA GPUs including some examples that can be run interactively.
To find the PyTorch image, type “PyTorch” in the search bar and click the first box listed. This will open a new page with further details about the image including a README, tags, security information, and image layers.
To get the latest tag published for the PyTorch image, click the “Tags” tab. Tags are used to identify versions of Docker images as they change over time. Base images of the same image name with different tags might use the same code at a specific version but could have additional updates such as a different Operating System, different runtime libraries, or other changes.
The most recent image will be listed at the top of the table. Most images hosted on NGC use a YY.MM-py3 versioning scheme where “YY” is the last two digits of the year, “MM” are the zero-padded month, and “-py3” indicates the default version of Python installed in the image is Python3 (as opposed to “-py2” which indicates Python2). NVIDIA is constantly testing, tuning, and upgrading the base images hosted on NGC and it is generally recommended to pull the latest image whenever possible to take advantage of all updates.
By clicking the ellipses to the right of the latest tag, a “Pull Tag” button will appear. Click this button to copy a command to your clipboard which can be run on your workstation.
After copying the command, return to the terminal on your workstation and paste it. The command should look similar to the following (we are using the “22.03-py3” tag in this example, but a different container or tag would also work):
docker pull nvcr.io/nvidia/pytorch:22.03-py3
Executing this command will begin downloading and extracting the selected image. The output will look similar to the following:
22.03-py3: Pulling from nvidia/pytorch
4d32b49e2995: Pull complete
45893188359a: Pull complete
5ad1f2004580: Pull complete
6ddc1d0f9183: Pull complete
4cc43a803109: Downloading [==========================================> ] 1.877GB/2.222GB
e94a4481e933: Download complete
3e7e4c9bc2b1: Download complete
9463aa3f5627: Download complete
a4a0c690bc7d: Download complete
59d451175f69: Download complete
eaf45e9f32d1: Download complete
d8d16d6af76d: Download complete
9e04bda98b05: Download complete
4f4fb700ef54: Download complete
600169a9eeb9: Download complete
5ab4a4c79587: Download complete
cc9c383bbe7e: Download complete
28f0a4457214: Download complete
c9fa92ce1ad6: Download complete
6de187d8986c: Download complete
776dd6381718: Download complete
fbcec89863dc: Download complete
cc9bd67c83a5: Download complete
b14fad4790ba: Download complete
2e662c1f02bf: Download complete
43fd87c93a0e: Download complete
c25c11c90147: Download complete
21f8a0e7678c: Download complete
38498f1bac59: Downloading [================================================> ] 671.6MB/698.5MB
be1dcb77f928: Downloading [==============================================> ] 662MB/717.3MB
570f80eab64d: Pulling fs layer
7be5ff0e99ab: Pulling fs layer
218cc4dc57a5: Pulling fs layer
e4b105bef9a0: Pulling fs layer
Once the image has been pulled, you will see this message:
Status: Downloaded newer image for nvcr.io/nvidia/pytorch:22.03-py3
To verify the image has been properly installed, run “docker images | grep nvcr.io/nvidia/pytorch”. This will list details of the image similar to the following:
nvcr.io/nvidia/pytorch 22.03-py3 4730bc516b92 7 days ago 14.6GB
If you have previously downloaded PyTorch images from NGC, there may be additional lines listed above for other tags.