> 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.6/configure-cortex-xsoar/engines/install-an-engine/docker/install-docker.md).

# Install Docker

Docker is required for engines to run Python/Powershell scripts and integrations in a controlled environment.

If you use the Shell installer to install an engine, Docker is automatically installed. If using DEB and RPM installations, you need to install Docker or Podman before installing an engine. The engine uses Docker to run Python scripts, PowerShell scripts, and integrations in a controlled environment. By packaging libraries and dependencies together, the environment remains the same and scripts and integrations are not affected by different server configurations.

Cortex XSOAR supports the latest Docker Engine release from Docker and the following corresponding supported Linux distributions:

* 5.3.15 and later
* 5.4.2 and later
* 5.5 and later

These Linux distributions include their own Docker Engine package. In addition, older versions of Docker Engine released within the last 12 months are supported unless there is a known compatibility issue with a specific Docker Engine version. In case of a compatibility issue, Cortex XSOAR will publish an advisory notifying customers to upgrade their Docker Engine version.

You can use a version that is not supported. However, when encountering an issue that requires Customer Support involvement, you may be asked to upgrade to a supported version before assistance can be provided.

**Docker installation by operating system**

If you need to install Docker before installing an engine, use the following procedures:

* [Red Hat](/cortex-xsoar-8-on-prem/8.6/configure-cortex-xsoar/engines/install-an-engine/docker/install-docker-distribution-for-red-hat-on-an-engine-server.md)
* [Ubuntu](https://docs.docker.com/engine/install/ubuntu/)
* [Amazon Linux](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-basics.html#install_docker)
* [Oracle Linux](https://docs.oracle.com/en/operating-systems/oracle-linux/docker/)

{% hint style="info" %}
For Red Hat's Docker distribution, you need Mirantis Container Runtime (formerly Docker Engine - Enterprise) to run specific Docker-dependent integrations and scripts. For more information, see [Install Docker distribution for Red Hat on an engine server](/cortex-xsoar-8-on-prem/8.6/configure-cortex-xsoar/engines/install-an-engine/docker/install-docker-distribution-for-red-hat-on-an-engine-server.md).

To use the Mirantis Container Runtime (formerly Docker Engine - Enterprise) follow the [deployment guide](https://docs.mirantis.com/welcome/mcr) for your operating system distribution.
{% endhint %}

### **Verify Docker user and permissions**

**Verify Docker user**

If you installed an engine before installing Docker, verify the demisto operating system user is part of the docker operating system group.

1. Run **`id demisto`** verify. For example:

   ```programlisting
   id demisto
   uid=997(demisto) gid=997(demisto) groups=997(demisto),998(docker)
   ```

   If needed, add the demisto user to the operating system group:

   ```programlisting
   sudo groupadd docker
   sudo usermod -aG docker demisto
   ```

   Remove these keys from the engine configuration file.

   ```programlisting
   python.executable
   python.executable.no.docker
   ```

**Verify user permissions**

To verify that the operating system user (demisto) has necessary permissions and can run Docker containers, run the following command from the OS command line.

**`sudo -u demisto docker run --rm -it demisto/python:1.3-alpine python --version`**

If everything is configured properly you will receive the following output. `Python 2.7.14`.


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cortex-docs.paloaltonetworks.com/cortex-xsoar-8-on-prem/8.6/configure-cortex-xsoar/engines/install-an-engine/docker/install-docker.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
