Starting a Cluster of FTL Servers in Docker Containers

To start FTL servers that require explicit configuration, complete this task.

Prerequisites

Docker must already be installed on the host computer.

Procedure

  1. Arrange an FTL server configuration file.
    All the servers in the cluster can use the same configuration file.
    globals:
    
        core.servers:
            ftl1: host1:8585
            ftl2: host2:8585
            ftl3: host3:8585
    
    servers:
    
        ftl1:
            - realm: {}
    
        ftl2:
            - realm: {}
    
        ftl3:
            - realm: {}

    The configuration file can include core servers, auxiliary servers, or both.

  2. Load the correct pre-built Docker image.
    The correct image depends on whether a server provides an eFTL service.
    Option Description
    No eFTL service ftl-tibftlserver:6.5.0
    eFTL service ftl-tibeftlserver:6.5.0
    docker load --input ftl-tibftlserver-6.5.0.dockerimage.xz
    docker load --input ftl-tibeftlserver-6.5.0.dockerimage.xz
  3. Start the FTL server container.

    To make the configuration file available within the container, bind the external file system with Docker's -v parameter.

    Publish the FTL server port using Docker's -p parameter. This example uses the default port, 8585.

    Supply the configuration file name as the argument to the FTL server's -c parameter.

    Supply the server name as the argument to the FTL server's -n or --name parameter. The name refers to a server defined in the configuration file.

    docker run -v /var/tmp:/tmp
               -p 8585:8585
               ftl-tibftlserver:6.5.0
                     -c /tmp/ftl/ftlconfig.yml
                     -n server_name
    
  4. Repeat the preceding step for each FTL server in the configuration file.
    In this example, start three servers:
    • Start server ftl1 on host1.
    • Start server ftl2 on host2.
    • Start server ftl3 on host3.