> 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/xsoar-6-administrator-guide/6.12/onboard-cortex-xsoar/onboarding-in-cortex-xsoar/docker/docker-installation.md).

# Docker Installation

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

Cortex XSOAR supports the latest Docker Engine release from Docker and the corresponding [supported Linux distributions](/xsoar-6-administrator-guide/6.12/onboard-cortex-xsoar/onboarding-in-cortex-xsoar/single-server-deployment/system-requirements.md) which 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 Instructions**

* [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/)

**Mirantis Container Runtime (formerly Docker Engine - Enterprise)**

Docker Enterprise has been acquired by Mirantis and is now referred to as Mirantis Container Runtime. If you wish to use the Mirantis Container Runtime follow the [deployment guide](https://docs.mirantis.com/welcome/mcr) for your operating system distribution.

**Post Installation Troubleshooting**

**Demisto user**

If you installed Cortex XSOAR before installing Docker, verify the demisto operating system user is part of the docker operating system group. Run **`id demisto`** to 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
```

**Cortex XSOAR advanced configuration settings**

Remove the following system configuration settings from Cortex XSOAR. If you are using an engine, remove these keys from the engine configuration file.

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

**User permissions**

To verify that the Cortex XSOAR 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 the following output is displayed: `Python 2.7.14`.

**Update Container-Selinux**

When installing Docker, if you receive the message **`Requires: container-selinux >= 2.9`**, you need to install a newer version of container-selinux.

1. Go to [CentOS Packages](http://mirror.centos.org/centos/7/extras/x86_64/Packages/).
2. Find the latest version of **`container-selinux`** and copy the URL package.
3. Run the following command:

   **`sudo yum install -y <copied container-selinux url`**
4. Install the latest version by running the following command (assuming the latest version is 2.74-1):

   **`sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.74-1.el7.noarch.rpm`**


---

# 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/xsoar-6-administrator-guide/6.12/onboard-cortex-xsoar/onboarding-in-cortex-xsoar/docker/docker-installation.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.
