Extending the Base Docker Image
The TIBCO BusinessWorks Container Edition base Docker image must be uploaded to your Docker environment before deploying any applications.
The base Docker image extends supports to the following:
-
Third-party drivers
-
OSGI bundles
-
Integration with application configuration management systems
-
Application certificate management
Create the base Docker image for the 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.
- Provision supported JDBC drivers
- Run
bwinstall[.exe]
help from<BWCE_HOME>/bin
and follow instructions to add the driver to your TIBCO BusinessWorks Container Edition installation. - Copy all the contents from <TIBCO_HOME>/bwce/version/config/drivers/shells/<driverspecific runtime>/runtime/plugins/ to a temporary folder.
- From the temporary folder, use the Dockerfile given below to copy these jars into the base Docker image:
FROM tibco/bwce:latest COPY . /resources/addons/jars
- Run
- Provision the OSGi bundle jars
- Copy the OSGified bundle jars into a temporary folder.
- From the temporary folder, use the Dockerfile 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 the 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 Dockerfile 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. 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:
- Download the appropriate Plug-in packaging. For example, the TIBCO ActiveMatrix BusinessWorks™ Plug-in for WebSphere MQ, from https://edelivery.tibco.com.
- Locate the plug-in zip file,
<product id>_ePaas.zip
orTIB_<version>_<build number>_bwce-runtime.zip
from the downloaded artifacts and copy into a temporary folder. From the temporary folder, use the Dockerfile given below to copy these plug-in runtime zip files into the base Docker image:FROM tibco/bwce:latest COPY *.zip /resources/addons/plugins
To add plug-ins created using the TIBCO ActiveMatrix BusinessWorks™ Plug-in Development Kit to runtime into your base Docker image:
- Install the plug-in if it is not installed.
- Navigate to the
TIBCO_HOME/bwce/palettes/<plug in name>/<plugin version> directory and zip the
lib
andruntime
folders into<plugin name>.zip
. - Copy
<plugin name>.zip
to a temporary folder. - From the temporary folder, use the Dockerfile given below to copy these plug-in 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 the Docker image:
- Package third-party client installation into zip.
- Copy the zip to a temporary folder.
- From the temporary folder, use the Dockerfile given below to copy the archive files into the base Docker image:
FROM tibco/bwce:latest COPY *.zip /resources/addons/thirdparty-installs
- Build the Docker image:
docker build -t YOUR-TAG.
- Provision to add custom JDBC driver
- Follow the steps outlined in the Enabling Custom Drivers section of theJDBC 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.
- From the temporary folder, use the Dockerfile 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
- Follow the steps outlined in the Enabling Custom Drivers section of theJNDI 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.
- From the temporary folder, use the Dockerfile given below to copy these jars into the base Docker image:
FROM tibco/bwce:latest COPY . /resources/addons/jars
- Provision to use custom logs
- Create a folder custom-logback in the resources/addons folder.
- 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".
Open a command terminal from the temporary folder where you created the Dockerfile and run:
docker build -t TAG-NAME .
For example,
docker build -t tibco/bwce-oracledriver:latest .
Provisioning Custom Profile
- Create and export an application profile as a substvar file. For more information on how to export an application profile see, Exporting an Application Profile. While exporting the application profile, select the Include System Properties checkbox.
- Copy the substvar file to the base Docker image:
FROM tibco/bwce:latest COPY *.substvar /
- Build the Docker image:
docker build -t YOUR-TAG.
- Set the BW_PROFILE environment variable and run the application providing the substvar profile name.