Introduction to Images

Container images are the blueprint for creating containers, encapsulating everything required to run an application—from the code itself to the runtime, system libraries, and dependencies.

The Cycle platform implements the Open Container Initiative spec for all images. This means that any image that would otherwise run on Docker or Kubernetes, will run the exact same way on Cycle. Images can be imported from numerous sources, including Docker Hub or other registries, tarballs, or even building directly off of code with a Dockerfile.

Image Storage

All images are stored through Cycle's image storage on Backblaze .

To make importing more efficient, the images will import to the factory service and become available to be used. Then, Cycle will push to Backblaze for long term storage.

Image Builder

Images can be built through Cycle's native image builder, or through the Depot Integration.

The Depot integration brings enhanced Dockerfile build capabilities, enabling significantly faster image builds through leveraging Depot's advanced caching mechanisms and increased resources.

Image Sources

Images are grouped into image sources, which store the configuration and authentication details required for repeatedly building an image. Image sources may also have an ACL set to restrict who can view or build images from the specified source.

Learn how to set up an image source:

How Images are Imported on Cycle

When importing an image into Cycle, the platform goes through two distinct steps.

  1. Create - Creates the 'shell' of the image. Essentially, this creates the ID to which the image contents can be imported into.
  2. Import - The factory core service fetches or builds the image and flattens it into an OCI image without layers to save space.

In the portal, this process is abstracted, but is an important concept when utilizing the API or pipelines.

Learn how to import images on Cycle:

Build Logs

All image imports will generate a build log. This log captures the direct output from building the image on our factory core service. This can be useful for debugging failed imports.

Learn how to access build logs: