Extending the Base Docker Image

The TIBCO BusinessWorks™ Container Edition base Docker image must be uploaded to your Docker environment before deploying any applications.

This base Docker image can be extended to support third-party drivers, OSGI bundles, integration with application configuration management systems, and application certificate management.

Prerequisites

Create the base Docker image for Linux or Windows container following steps in Creating the BWCE Base Docker Image for Linux Containers or Creating the BWCE Base Docker Image for Windows Container.

The base Docker image can be extended in the following ways:
  • Provision supported JDBC drivers
    1. Run bwinstall[.exe] help from <BWCE_HOME>/bin and follow instructions to add the driver to your TIBCO BusinessWorks Container Edition installation.
    2. Copy all the contents from <TIBCO_HOME>/bwce/version/config/drivers/shells/<driverspecific runtime>/runtime/plugins/ to a temporary folder.
    3. From the temporary folder use the Docker file given below to copy these jars into the base Docker image:
      FROM tibco/bwce:latest
      COPY . /resources/addons/jars
      
  • Provision the OSGi bundle jar(s)
    1. Copy OSGified bundle jar(s) into a temporary folder.
    2. From the temporary folder use the Docker file given below to copy these jars into the base Docker image:
      FROM tibco/bwce:latest
      COPY . /resources/addons/jars
      
  • Application Configuration Management

    For more information, see Using Configurations from Configuration Management Services.

  • Certificate Management

    Certificates are used by applications to connect to different systems. For example, a certificate to connect to TIBCO Enterprise Message Service.

    Bundling certificates with your application is not a good idea as you would need to rebuild your application when the certificates expire. To avoid that, copy your certificates into a temporary folder. From the temporary folder use the Docker file given below to copy these certificates into the base Docker image:
    FROM tibco/bwce:latest
    COPY . /resources/addons/certs
    

    Once the certificates expire, you can copy the new certificates into the base Docker image without rebuilding your application. Just deploy your application with the base Docker image. To access the certificates folder from your application, use the environment variable BW_KEYSTORE_PATH. For example, #BW_KEYSTORE_PATH#/mycert.jks in your application property.

  • Provision the TIBCO BusinessWorks™ Container Edition Plug-in Runtime

    To add TIBCO certified plug-ins:

    1. Download appropriate Plug-in packaging, for example TIBCO ActiveMatrix BusinessWorks™ Plug-in for WebSphere MQ, from https://edelivery.tibco.com.
    2. Locate the plug-in zip file, <product id>_ePaas.zip or TIB_<version>_<build number>_bwce-runtime.zip from the downloaded artifacts and copy into a temporary folder. From the temporary folder use the Docker file given below to copy these plugin runtime zip files into the base Docker image:
      FROM tibco/bwce:latest
      COPY *.zip /resources/addons/plugins
      

    To add a plug-ins created using TIBCO ActiveMatrix BusinessWorks™ Plug-in Development Kit to runtime into your base Docker image:

    1. Install the plug-in if it is not installed.
    2. Navigate to the TIBCO_HOME/bwce/palettes/<plug in name>/<plugin version> directory and zip the lib and runtime folders into <plugin name>.zip.
    3. Copy <plugin name>.zip to a temporary folder.
    4. From the temporary folder use the Docker file given below to copy these plugin runtime zip files into the base Docker image:
      FROM tibco/bwce:latest
      COPY *.zip /resources/addons/plugins
      
  • Provision the third-party installations to runtime

    To add the third-party installation to Docker image:

    1. Package third-party client installation into zip.
    2. Copy zip to a temporary folder.
    3. From the temporary folder use the Docker file given below to copy archive files into the base Docker image:
      FROM tibco/bwce:latest
      COPY *.zip /resources/addons/thirdparty-installs
      
    4. Build the Docker image:
    docker build -t YOUR-TAG.
    
  • Provision to add custom JDBC driver
    1. Follow steps outlined in Enabling Custom Drivers section of JDBC Connection topic in the Bindings and Palette Reference guide. After the project has been exported as a plug-in, locate the JAR in the plug-ins folder and copy it to a temporary folder.
    2. From the temporary folder use the Docker file given below to copy these jars into the base Docker image:
      FROM tibco/bwce:latest
      COPY . /resources/addons/jars
      
  • Provision to add custom JMS driver
    1. Follow steps outlined in Enabling Custom Drivers section of JNDI Connection topic in the Bindings and Palette Reference guide. After the project has been exported as a plug-in, locate the JAR in the plug-ins folder and copy it to a temporary folder.
    2. From the temporary folder use the Docker file given below to copy these jars into the base Docker image:
      FROM tibco/bwce:latest
      COPY . /resources/addons/jars
      
  • Provision to use custom logs
    1. Create a new folder custom-logback in the resources/addons folder.
    2. Add the customized logback file in the folder. The name of the logback file should be logback.xml.
      Note: While running the application, set the environment variable CUSTOM_LOGBACK="true".

What to do next

Open a command terminal from the temporary folder where you created the Dockerfile and execute:

docker build -t TAG-NAME . 

For example,

docker build -t tibco/bwce-oracledriver:latest .