Skip to content

Modbus Docker

You can run the Xrt Modbus Device Service in a docker container.

The following examples use the iotechsys/xrt:2.1 docker image.

You can run the Xrt docker container on either of the following networks:

  • Host
  • Docker bridge

Run on Host Network

In the following example xrt-modbus provides the name of the running container, provides the location of the config, state and profiles folders. [time_in_seconds] can optionally define the time for which Edge Xrt is to run in seconds:

docker run --rm --network=host --name xrt-modbus -v <deployment_directory>/deployment:/opt/iotech/xrt/2.1/deployment iotechsys/xrt:2.1 [time_in_seconds]

Run on Docker Bridge Network

When running the Modbus Service on a Docker bridge network and connecting to a Modbus instance that is not running on the same network the port should be exposed as follows:

--port <modbus_port>:<device_port>

Where modbus_port is the port of the Modbus instance and device_port is the port used by a device added to the Modbus Service.

In the following example command the network flag is set to <docker_bridge_network>, specifying the docker network to connect to, xrt-modbus provides the name of the running container, <deployment_directory> provides the location of the config folder, and [time_in_seconds] can optionally define the time for which Edge Xrt is to run in seconds:

docker run --rm --name xrt-modbus --port <modbus_port>:<device_port> -v <deployment_directory>/deployment:/opt/iotech/xrt/2.1/deployment \
    --network <docker_bridge_network> iotechsys/xrt:2.1 [timeout in secs]

Note

If the network flag is not included in the command, the default bridge network is used.