How to run Self-Hosted Integration Runtime in Windows container

APPLIES TO: Azure Data Factory Azure Synapse Analytics

Azure Data Factory provides Windows container support for the Self-Hosted Integration Runtime. You can download the Docker Build source code and combine the building and running process in your own continuous delivery pipeline.


This article explains how to run the Self-Hosted Integration Runtime in a Windows container on a compatible physical or virtual machine. If you don't want to manage infrastructure, you can run the Self-Hosted Integration Runtime on Azure App Service. For more information, see the Azure Data Factory self-hosted integration runtime on App Service sample.


Get started

  1. Install Docker and enable Windows containers.

  2. Download the container image source code from GitHub.

  3. If you need to use a specific version of the SHIR, you can download it and move it to the SHIR folder.

    Otherwise, skip this step. The container image build process will download the latest version of the SHIR automatically.

  4. Open your folder in the shell:

    cd "yourFolderPath"
  5. Build the Windows container image:

    docker build . -t "yourDockerImageName" 
  6. Run the Docker container:

    docker run -d -e NODE_NAME="irNodeName" -e AUTH_KEY="IR_AUTHENTICATION_KEY" -e ENABLE_HA=true -e HA_PORT=8060 "yourDockerImageName"    


    The AUTH_KEY environment variable is mandatory and must be set to the auth key value for your data factory.

    The NODE_NAME, ENABLE_HA and HA_PORT environment variables are optional. If you don't set their values, the command will use default values. The default value of ENABLE_HA is false, and the default value of HA_PORT is 8060.

Container health check

After the 120 second startup period, the health check runs periodically every 30 seconds. It provides the SHIR's health status to the container engine.


Currently we don't support the below features when running the Self-Hosted Integration Runtime in Windows containers:

  • HTTP proxy
  • Encrypted node-node communication with TLS/SSL certificate
  • Generate and import backup
  • Daemon service
  • Auto-update

There is a known issue when hosting an Azure Data Factory self-hosted integration runtime in Azure App Service. Azure App Service creates a new container instead of reusing existing container after restarting. This may cause self-hosted integration runtime node leak problem.

Next steps