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.