Skip to main content

Save Image

The Save Image feature captures the current state of a running TIR instance as a Docker image and pushes it to the E2E Container Registry. This enables you to preserve, reproduce, and share your environment without reconfiguring it from scratch.

Saved images can be used to launch new instances with identical environments, or pulled locally via Docker for further development and testing.

When to Use Save Image

Save Image is recommended in the following situations:

  • Preserve a configured environment before making significant changes to it
  • Standardize a runtime environment across project members
  • Create a versioned checkpoint before upgrading frameworks or dependencies
  • Eliminate repeated environment setup when launching new instances
  • Maintain a consistent base environment for recurring workloads

How Save Image Works

When you trigger Save Image, TIR commits the writable container layer of the running instance into a new Docker image and pushes it to your configured Container Registry under Platform Services. The operation runs against the live container filesystem and does not require the instance to be stopped.

info

Save Image captures the container layer only. Mounted volumes, workspace directories, and dataset paths are not part of the resulting image.

What Is Captured

Included in ImageNot Included
Installed Python packages (pip, conda)Workspace volume (/home/jovyan)
System packages (apt/yum installs)Datasets mounted to /data
Custom binaries in system pathsLocal NVMe data (/mnt/local)
Environment variables (baked into the layer)Shared File System mounts
Modified configuration files (.bashrc, Jupyter)Jupyter notebooks and project files
Scripts placed in /usr/local/binModel checkpoints in workspace
warning

Files in /home/jovyan, /data, and /mnt/local are not included in the saved image. Back up important data to E2E Object Storage (EOS) or a Git repository before running Save Image.

Prerequisites

Before using Save Image, confirm the following are available in your project:

Required
Active TIR Instance
A running instance in your TIR project that you want to snapshot.
Required
Container Registry
An E2E Container Registry configured under Platform Services in your project.
warning

A Container Registry must exist in your project before Save Image can be used. Navigate to Platform Services > Container Registry to create one if you have not done so.

Step-by-Step Process

Once your Container Registry is configured, follow these steps to save your instance environment.

1
Open Instance Actions
Navigate to Instances from the left sidebar. Locate your instance and open the Actions menu from the instance row or the instance detail page.
2
Select Save Image
Click Save Image from the Actions menu. A configuration dialog will open.
3
Configure Image Details
Complete the fields in the Save Image dialog:
FieldDescription
Image NameA unique identifier for the image. Use lowercase letters, numbers, and hyphens only (for example, pytorch-env-v1).
TagA version label for the image (for example, v1.0). Defaults to latest if left blank.
RegistryThe Container Registry namespace where the image will be stored. Select from the dropdown.
4
Confirm and Initiate
Review the configuration and click Save Image to begin. A confirmation banner will appear and the image push will start. Instance management actions are restricted while the save is in progress.
5
Verify the Image
Once the push completes, navigate to Platform Services > Container Registry and open your namespace. The saved image will appear in the repository list with its tag, size, and push date.
danger

Do not stop, restart, or delete the instance while a save is in progress. Doing so may result in a corrupt or incomplete image.

note

Save time varies based on environment size. Instances with large ML stacks such as PyTorch, TensorFlow, or JAX may take several minutes to complete.

Using a Saved Image

Launch a New TIR Instance

  1. Navigate to Instances and click Create Instance.
  2. In the container image section, select Use Custom Image.
  3. Set Image Type to Private and select your Registry Namespace from the dropdown.
  4. Select the saved image from the list and click Launch.

Pull the Image via Docker

Authenticate and pull the image using the Docker CLI:

# Authenticate to the E2E Container Registry
docker login registry.e2enetworks.net -u <your_username> -p <your_password>

# Pull the saved image
docker pull registry.e2enetworks.net/<namespace>/<image-name>:<tag>

# Example
docker pull registry.e2enetworks.net/my-project-images/pytorch-env-v1:latest
info

Your Docker login credentials are available in the Container Registry. Navigate to Platform Services > Container Registry, select your registry namespace, and click Commands to retrieve a pre-filled login command.

Managing Saved Images

View Saved Images

Navigate to Platform Services > Container Registry and select your registry namespace. All images are listed with their tags, sizes, push dates, and scan status.

Delete an Image

  1. In the registry namespace view, click the image name.
  2. Click Delete Image.
  3. Confirm the deletion in the dialog.

warning

Image and tag deletions are permanent. Verify that no running instances or active workloads reference the image before proceeding. There is no recovery option.

Important Considerations

Troubleshooting

IssueResolution
Save Image option is unavailableSave Image is only available for running instances. Ensure the instance is in a running state before initiating the operation.
Image save fails or exceeds expected durationSave duration depends on the installed environment size. Large environments may require additional time to complete.
Cannot pull image via DockerVerify your credentials. Navigate to Platform Services > Container Registry and click Commands for an updated login command.
New instance does not reflect expected changesConfirm the correct image tag was selected. Workspace data in /home/jovyan is not part of the image.
Authentication errors during image pushValidate the base64 token in config.json and confirm the registry URL exactly matches your namespace at registry.e2enetworks.net/<ns>.
Image not visible in registry after saveWait a few minutes and refresh the page. If the image remains missing, check the instance Events tab for push-related error logs.

Best Practices

Use descriptive, versioned image names. A name like llm-finetune-pytorch21-v2 is more useful than myimage when managing multiple environment versions over time.

Save after every significant environment change. Treat saved images as environment checkpoints. Saving regularly gives you reliable rollback points before major modifications.

Keep workspace data separate from images. Datasets, model checkpoints, and notebooks belong in /home/jovyan, EOS buckets, or a Git repository. They should not be stored in the container layer.

Use semantic version tags. Tagging images with v1.0, v1.1, and so on is preferable to overwriting latest on every save. This preserves rollback capability across versions.

Prune unused images periodically. Remove images that have not been referenced in 90 or more days to keep registry storage under control.

Validate images before production use. Launch a small instance from a newly saved image and verify the environment behaves as expected before integrating it into shared workflows.

tip

To share a saved image, provide teammates with the Docker pull command for the relevant namespace and tag. Ensure your Container Registry namespace permissions allow access for the intended users.