Run XES Module for Docker

This scenario demonstrates how to deploy and start XES Module for Docker inside a Docker container and perform basic XEServer operations inside a Docker container. The scenario uses the Docker Sample profile hosted in Edifecs Library.

Prerequisites:

Before you proceed with this section, you must have the following:

Optional

  • A Linux user added to a "docker" group. If you want to run Docker commands as a non-root user, consider adding your user to the "docker" group.

To deploy and start XES Module for Docker inside a Docker container:

  1. Load the XES Module for Docker image .tar.gz archive to Docker:

    docker load -i XESDocker_9.0.0.35_20180704.tar.gz

    where XESDocker_9.0.0.35_20180704.tar.gz is a path to the XES Module for Docker image on the file system.

  2. List all Docker images:

    docker images

    This command lists all Docker images. Verify that the loaded XES Module for Docker image is in the list.

  3. Run the container:

    docker run -it \
    --name Sample \
    -v "/host/docker/mount/license.lic":"/opt/Edifecs/XEServer/license.lic" \
    -v "/host/docker/mount/logs":"/opt/Edifecs/XEServer/profiles/Docker Sample/log" \
    -v "/host/docker/mount/in":"/opt/Edifecs/XEServer/profiles/Docker Sample/workspace/test-data/inbound" \
    -v "/host/docker/mount/out":"/opt/Edifecs/XEServer/profiles/Docker Sample/workspace/test-data/outbound" \
    registry.edifecsfedcloud.com/xes:9.0.0.35 \
    --image "repository:/library/ProfileImages/Docker/XEServer(9.0.0)_Docker Sample.zip" \
    --username <userName> \
    --password <password>

    where:

    • docker run -it: Runs Docker container in the interactive mode.
    • --name Sample: Specifies the name for the container.
    • -v "/host/docker/mount/license.lic":"/opt/Edifecs/XEServer/license.lic" : Mounts the XEServer licence file to the container.
    • -v "/host/docker/mount/logs":"/opt/Edifecs/XEServer/profiles/Docker Sample/log" : Mounts the XEServer log directory.
    • -v "/host/docker/mount/in":"/opt/Edifecs/XEServer/profiles/Docker Sample/workspace/test-data/inbound" : Mounts the Linux directory to the Inbound directory of XES Module for Docker to submit test data to the container.
    • -v "/host/docker/mount/out":"/opt/Edifecs/XEServer/profiles/Docker Sample/workspace/test-data/outbound" : Mounts the Linux directory to the Outbound directory of XES Module for Docker to view the processing results.
    • xes:9.0.0.35 : XES Module for Docker image name.
    • --image "repository:/library/profiles/XEServer(9.0.0)_Docker Sample.zip" : The link to the XEServer Docker Sample profile image
    • --username <yourUserName> : Your Smart Trading Cloud user name.
    • --password <yourPassword> : Your Smart Trading Cloud password.
  4. List Docker containers:

    docker ps -a

    This command lists all Docker containers. Verify that the Sample container is running.

  5. Verify an XEServer profile status:

    docker exec -it $(docker ps -f "name=Docker Sample" -q) /bin/sh

  6. Put 837P.dat and 837P_Error.dat test data files to /host/docker/mount/in directory. After a short processing delay, the /host/docker/mount/out directory should contain files like the following:

    ack_2C3F284F-8934-415C-8E7E-6B250F9132A2-0000003-1-Generate Xdata and Acks_acks.dat
    ack_2C3F284F-8934-415C-8E7E-6B250F9132A2-0000004-2-Generate Xdata and Acks_acks.dat
    ack_6431F27B-F18F-48C9-BD42-2014E05DE502-0000003-1-Generate Xdata and Acks_acks.dat
    ack_6431F27B-F18F-48C9-BD42-2014E05DE502-0000004-2-Generate Xdata and Acks_acks.dat
    ack_AD5F6EA7-C4DB-4D99-91B9-72EF40AA1EA3-0000002-0-Generate Xdata and Acks_acks.dat
    ack_AD5F6EA7-C4DB-4D99-91B9-72EF40AA1EA3-0000003-1-Generate Xdata and Acks_acks.dat
    report_AD5F6EA7-C4DB-4D99-91B9-72EF40AA1EA3-0000001-2-Generate Xdata and Acks_reports.html
    xdata_2C3F284F-8934-415C-8E7E-6B250F9132A2-0000001-0-Generate Xdata and Acks_Xdata.xml
    xdata_6431F27B-F18F-48C9-BD42-2014E05DE502-0000001-0-Generate Xdata and Acks_Xdata.xml

  7. Stop the Docker container:

    docker stop Sample

  8. Remove the Docker container:

    docker rm Sample