--- title: "Images" url: https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/build-the-pipeline/images/ description: "Learn about the Catalyst Pipelines images in detail, the associated keywords and sample code snippets." last_updated: 2026-08-28T06:26:16Z service: Pipelines type: general related_links: - name: "Configure the Pipeline" url: /en/pipelines/help/catalyst-pipelines.yaml/implementation --- # Images # Introduction An image is an executable package that contains dependencies needed to run a job in the pipeline. Catalyst Pipelines seamlessly integrates with container registries such as Docker Hub or other private registries to pull images and dependencies during the pipeline execution. You can pick from a wide range of images supporting varied operating systems, programming languages, frameworks, and tools to suit your specific requirements. Additionally, using predefined images ensures consistency and reproducibility across different stages of the pipeline and environments. You can pull images by specifying the container registry URL explicitly using the `registry` key. If the registry URL is not defined, the images are pulled from the [Dockerhub](https://hub.docker.com/) container by default. You can define the required images for the pipeline using the `images` key. ### Properties of an Image
Key Value is Mandatory
Image Variable Name The image variable name used to access the image Yes
`image` The name of the image Yes
`registry` The URL from which the image has to be fetched. No
`auth` Contains the username and password keys. Yes
`auth` Contains the username and password keys. Yes
`username` The account username credential of the specified registry. Yes
`password` The account password credential of the specified registry. Yes
> **Note:** 1. Defining an image is not mandatory. If an image is not specified, the default Ubuntu image with Catalyst CLI pre-installed is taken by default to execute the jobs. 2. You can define images at the pipeline level, stage level, or job level. In case of multiple definitions, the one specified at the lowest level (i.e., job) takes precedence. 3. If the same image is specified for two jobs within a stage, the cached image will automatically be reused for the second job, enhancing performance speed. 4. If the image name is specified and the registry URL is not given, then make sure to provide the `username` and `password` credentials of your [Dockerhub](https://hub.docker.com/) account in the `auth` key. The image will be pulled from DockerHub by default. For security reasons, we highly recommend you store your password information as a variable in the global configuration and access it using `<< env.{variable_name} >>` in the `catalyst-pipelines.yaml` file. You can refer to [this help section](https://docs.catalyst.zoho.com/en/pipelines/help/catalyst-pipelines.yaml/implementation) to learn how to configure variables globally from the console. ### YAML Code Snippet for Image Here's an example code snippet for images that can be defined in a pipeline: ```yaml images: testImage1: image: node:18 registry: my.private.registry.com auth: username: ameliab password: zylker@123 testImage2: image: node:20 auth: username: ameliab password: zylker@123 ``` The above code snippet illustrates the following: * Two images are defined in the pipeline(`testImage1` and `testImage2`). * The `testImage1` uses the node18 dependencies from the defined registry URL. We have added the authentication credentials for the registry to the keyword `auth`. * By default, since the registry is not specified, the `testimage2` uses the **node20** dependencies from [Dockerhub](https://hub.docker.com/). ### Global Configuration You can also define the image at the pipeline level, if required. This image configuration will be accessible to all the stages and jobs. You can configure an image at the pipeline level as follows: ```json pipeline-image: image1 ```