Skip to main content
Beam supports importing images from custom public and private registries.

Public Docker Registries

You can import existing images from remote Docker registries, like Docker Hub, Google Artifact Registry, ECR, GitHub Container Registry, NVIDIA and more. Just supply a base_image argument to Image.
Beam only supports Debian-based images. In addition, make sure your image is built for the correct x86 architecture.

Private Docker Registries

Beam supports importing images from the following private registries: AWS ECR, Google Artifact Registry, Docker Hub, GitHub Container Registry, and NVIDIA Container Registry. Private registries require credentials, and you can pass the credentials to Beam in two ways: as a dictionary, or exported from your shell so Beam can automatically lookup the values. Passing Credentials as a Dictionary You can provide the values for the registry as a dictionary directly, like this:
Passing Credentials from your Environment Alternatively, you can export your credentials in your shell and pass the environment variable names to base_image_creds as a list:

AWS ECR

To use a private image from Amazon ECR, export your AWS environment variables. Then configure the Image object with those environment variables.
You can authenticate with either your static AWS credentials or an AWS STS token. If you use the AWS STS token, your AWS_SESSION_TOKEN key must also be set.

GCP Artifact Registry

To use a private image from Google Artifact Registry, export your access token.
Then configure the Image object to use the environment variable.

NVIDIA GPU Cloud (NGC)

To use a private image from NVIDIA GPU Cloud, export your API key.
Then configure the Image object to use the environment variable.

Docker Hub

To use a private image from Docker Hub, export your Docker Hub credentials.
Then configure the Image object with those environment variables.

GitHub Container Registry

To use a private image from GitHub Container Registry, export your GitHub credentials. You will need a personal access token.
Then configure the Image object with those environment variables.