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,
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.