Immutable IBM Integration Bus Runtime according to container best practices
1.7K
This is no official IBM image, but based on my experiences and opinions.
This repository includes docker images for IBM Integration Bus according to container best practices from which the developer can select as the foundation for his RuntimeLayer image (example):
iib-10.0.0.8: Creates an Ubuntu 14.04 image with IIB in version 10.0.0.8iib-10.0.0.8-mqclient: Adds MQClient 9 to the iib-10.0.0.8 imageiib-10.0.0.8-mqserver: Adds an MQServer V9 to the iib-10.0.0.8 image => NOT YET WORKING!The images allow for the configuration just through environment variables instead of commands inside the container. Please see the following list for the currently supported features. Feedback is always welcome so if you missing something open a issue. Thank you.
on or off to en/disable trace nodes.9999. If this is set the debug port is automatically set on start up. Don't do this in production. Further you need to expose this port in your image.accept to indicate that you accepted the IBM License Agreementinternal the global cache on IIB is just enabled. If set to external the connection to an external IBM Extreme Scale is configured. This requires the following environment variables to be set:
- IIB_GC_USER: username to connect to IBM Extreme Scale
- IIB_GC_PASSWD: password to connect to IBM Extreme Scale
- IIB_GC_CATALOGENDPOINT: catalogendpoint to connect to IBM Extreme Scale
- IIB_GC_GRIDNAME gridname to connect to IBM Extreme ScaleIIB_SERVER_CERT_ALIAS. This should be the alias of the server certificate e.g. iib_server_cert, find this on in your certificate.IIB_KEYSTOREPW: the keystore password, can be set as an environment variable or in the pw.sh file mounted under /secret/pw.sh.IIB_TRUSTSTOREPW: the truststore password, can be set as an environment variable or in the pw.sh file mounted under /secret/pw.sh./secret/keystore.jks and /secret/truststore.jks to enable HTTPS or SSL MQ./var/mqsi/odbc.iniODBCINI: to the path of the odbc.ini. Which must be currently /secret/odbc.ini./secret/customconfig.sh this file is automatically pick up by the container and executed. You should include a command like: mqsisetdbparms MYNODE -n odbc::ORACLEDB -u BASE_USER -p secretpassword. ORACLEDB is the name of the resource in the odbc.ini file I have give (you can choose your own), BASE_USER_ANFW is the username, secretpassword is the place to put your password.- 4414: Port of the IIB Admin WebUi and for remote debugging in IBM Integration Bus Toolkit
- 7800: Port of the HTTP Listener (HTTP)
- 7843: Port for the HTTP Listner (HTTPS)
FROM dennisseidel/iib-bestpractice-runtimes:${tag} or any other tag shown above.FROM dennisseidel/iib-bestpractice-runtimes:10.0.0.7-mqclient
MAINTAINER YourName [email protected]
# MANDATORY: BAR Files
# Copy all application bar files into the docker container to /iibProjects/
# from where they are deployed at runtime
COPY workspace/BARfiles/app.bar /iibProjects/
# OPTIONALLY: Overwrite Files
# Copy all properties/overwrite files to /iibProperties/. They are applied to
# the bar file with the same name (app.properties applied to app.bar)
# These files can be "overwritten" by putting the properties file into a mountpoint
# or a configmap (kubernetes/openshift specific)
COPY config/app.properties /iibProperties/
# OPTIONALLY: Custom Config Hook
# Add a file called customconfig.sh with mqsi commands ran at runtime before the
# bar file is deployed.
# This file can be also be stage specific mounted into the image.
#COPY config/customconfig.sh /usr/local/bin/customconfig.sh
# MANDATORY: Secrets (Passwords / keystore / truststore
# Password need to be mounted into the location /secret as a pw.sh (see example)
# this allow you to set export environment variables for on run when the container start
# those passwords are not visable afterwards.
# The keystore needs to be mounted into /secret as keystore.jks
# The trust store needs to be mounted into /secret as truststore.jks
COPY config/secret/ /secret/
# OPTIONALLY: ODBC.ini for ODBC support in ESQL
# this file can on other stages be comming from a secret or a config map depending on the
# information that comes from this file.
# COPY config/odbc.ini /secret
# OPTIONAL: copy files that can be served by a mock service and read with a file input node
COPY workspace/mocks/ /mock/data
# build the runtime image
docker build -t iib-app-image .
# start the runtime image
docker run -p 7800:7800 -p 7843:7843 -p 4414:4414 iib-app-image
Content type
Image
Digest
Size
695.9 MB
Last updated
over 9 years ago
docker pull dennisseidel/iib-bestpractice-runtimes:10.0.0.8-mqclient