> 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/demisto-sdk-development-guide/demisto-sdk-guide/demisto-sdk-usage-and-configuration/using-docker.md).

# Using Docker

Docker is a tool used by developers to package together dependencies into an image. Docker enables you to run Python scripts and integrations in a controlled environment, isolated from the server. By packaging libraries and dependencies together, a consistent environment is maintained. You are not required to run \
`pip install` to install all the required packages to use your integration. They are part of an image and the image contains all of the libraries you need. See the [Docker site](https://docs.docker.com/) for more information.

## Script/integration configuration

When creating a script within the IDE, you can specify the Docker image to use, within the script settings. If you don't specify a Docker image, a default Docker image using Python 3.9 is used.

The selected Docker image is configured in the script/integration YAML file under the `dockerimage` key. See [Integration metadata YAML file](/cortex-xsiam-developer-guide/cortex-xsiam-development-guide/integrations-and-scripts/components/integration-metadata-yaml-file.md).

## Updating Docker images automatically via pull request

Every integration/script that utilizes either `demisto/python` or `demisto/python3` Docker images is updated automatically whenever a newer tag is available. This happens via an automatic recurring job that updates the Docker image of the content item by a pull request in the content Git repository.

## Enabling/disabling Docker image automatic update

If your integration/script does not use either `demisto/python` or `demisto/python3` Docker images, you can still update it automatically by adding the `autoUpdateDockerImagekey` to the YAML file. For example, the following will update the integration `MyIntegration` docker image:

```programlisting
commonfields:
  id: MyIntegration
  version: -1
name: MyIntegration
display: MyIntegration
script:
 dockerimage: demisto/oauthlib:1.0.0.16907
autoUpdateDockerImage: true
```

If your integration/script uses either `demisto/python` or `demisto/python3` Docker images and you don't want to automatically update it, you can set the `autoUpdateDockerImage` field to false.

```programlisting
autoUpdateDockerImage: false
```

## Docker images

Palo Alto Networks maintains a large repository of Docker images. All Docker images are available via [DockerHub under the Demisto organization](https://hub.docker.com/u/demisto/). The Docker image creation process is managed via [Dockerfiles repository](https://github.com/demisto/dockerfiles). Before trying to create a new Docker image, check if there is one available already. You can search <https://github.com/demisto/dockerfiles-info/blob/master/used_packages.csv> which is updated nightly with image metadata and the `os/python` packages used in the images. You can also create a custom Docker image to use in your integration.

## Package requirements

Considerations when choosing a package to be used in an integration:

* Does the package have known security issues?
* Is the package licensed? If so, what type of license is being used?

You must perform due diligence on packages you choose to use. This includes verifying the package name is correct. For example, in the past, [scans of PyPI](https://bertusk.medium.com/detecting-cyber-attacks-in-the-python-package-index-pypi-61ab2b585c67) resulted in the detection of 11 "typo-squatted" packages which were found to be malicious.

## Licensing

The content repository is produced with an MIT (Massachusetts Institute of Technology) license, which means that we use only packages that have a license compatible with the MIT license. As a rule, we only use `permissive` licenses. For a complete list of OSS licenses and their types see: <https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenses>.


---

# 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/demisto-sdk-development-guide/demisto-sdk-guide/demisto-sdk-usage-and-configuration/using-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.
