Custom Registries
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, 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.
Was this page helpful?