Skip to content

Container Usage

Docker Container

The Xrt docker container allows you to explore the capability of the available components, and to develop and verify components by providing suitable configuration.

The docker image only initializes the following components, which are described in Core Components:

  • Bus
  • Logger
  • Scheduler
  • ThreadPool

Any other required components must be dynamically loaded by including the factory and library names in the configuration files.

To obtain the Xrt docker image, based on Alpine 3.16, enter the following command, where <version> identifies the version of Edge Xrt:

docker pull iotechsys/xrt:<version>

For example, to pull version 2.1 of Edge Xrt, the command would be as follows:

docker pull iotechsys/xrt:2.1

The deployment folder containing the config needed to run the container must be provided using a bind mount, in the following format:

docker run --rm -v <path_to_deployment_folder>/deployment:/opt/iotech/xrt/2.1/deployment iotechsys/xrt:<version>
[timeout_in_secs]

By default, the timeout is set to infinity; if you want to stop the container, you can press Ctrl + C.

The root configuration must be in a file named main.json.

Before starting the docker container you must copy your Edge Xrt license file, provided by IOTech Support, to the config directory. The license file must be renamed from Xrt_license.lic to license.json.

Please refer to the Device Service Docker setup to understand how to configure and run Edge Xrt containing Device Service-specific configuration.