> For the complete documentation index, see [llms.txt](https://cortex-docs.paloaltonetworks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cortex-docs.paloaltonetworks.com/cortex-xsoar-8-on-prem/8.10/configure-cortex-xsoar/integrations/change-the-docker-image-in-an-integration-or-script/pull-images-from-a-private-image-registry.md).

# Pull images from a private image registry

Pull images from a private registry for Cortex XSOAR 8.10 On-prem.

Pulling images from a private image registry enables securely accessing and deploying Cortex XSOAR custom content, for example, custom integrations containing scripts and code packaged into Docker images. You can then run the integrations and scripts in Cortex XSOAR.

**Before you begin**

* Before pulling a custom image ensure the image does not infringe on any licenses.
* If using an engine, connect the engine to the private image registry using Docker or Podman. See [Connect your engine to an image registry](/cortex-xsoar-8-on-prem/8.10/configure-cortex-xsoar/integrations/change-the-docker-image-in-an-integration-or-script/connect-your-engine-to-an-image-registry.md).

{% hint style="info" %}

### Note

(Multi-tenant) This feature is not supported on the Main Account.
{% endhint %}

1. Go to **Settings & Info** → **Settings** → **Advanced** → **Image Registry**.
2. Set **Use Additional Private Image Registry** to On.
3. Configure access to the private image registry and the images to pull.
   * Select the **Connection** to either **Direct** or **Using Engine**.

     For **Using Engine**:

     * Select the **Engine** to use. Authentication is set on the engine machine itself, not in the Cortex XSOAR tenant. For an example, see [Connect your engine to an image registry](/cortex-xsoar-8-on-prem/8.10/configure-cortex-xsoar/integrations/change-the-docker-image-in-an-integration-or-script/connect-your-engine-to-an-image-registry.md).

     For **Direct**:

     * Set the **Username** and **Password/Access Token**.
   * Define the **Registry URL**, for example registry.organization.com
   * Click **Test the connection** to make sure the connection to the registry works.
   * Define the **Import images** in `name:tag` format, for example myorg/python/new:2.7.18.24398 or myorg/python:latest

     You can add, edit, or remove images. If you don't specify a tag, the default tag `latest` will be added automatically, specifying the latest version of the image.

     <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><h3>Note</h3><p>The <code>demisto/</code> prefix cannot be used for custom registry images.</p></div>
4. Click **Save** to persist the configuration and initiate synchronization.

**Image synchronization**

When you click **Save** or **Update Docker Images**, Cortex XSOAR performs synchronization, which involves:

* Pulling the images from the external registry.
* Copying and storing the images locally.
* Updating the engines with the new images.

{% hint style="info" %}

### Note

The synchronization process make take time. The **Image Registry** page displays synchronization status (for example in progress, complete, failure).

If the engine fails to synchronize, it may be offline. When it goes back online, it will pull any new images when running scripts or integrations that use them.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://cortex-docs.paloaltonetworks.com/cortex-xsoar-8-on-prem/8.10/configure-cortex-xsoar/integrations/change-the-docker-image-in-an-integration-or-script/pull-images-from-a-private-image-registry.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
