After a while since the last post about the docker series I’m here again to introduce how to create an BW 6 environment using our favorite container tool, Docker. The idea is to show not only the final files but all the thoughts and procedure I followed to create this containers and their configuration. So, please, come with me across this path which allow us to go deeper in our docker knowledge and to improve our capabilities and mental toolbox.
Ok, to start I want to show you the architecture diagrama of the containers we are goingo to create using this image:
We are going to use the following containers:
- Base container: This is only a base image created with a CentOS OS a JDK 1.7 installed and different rpm-packages like unzip.
- TEA container: This is the container that is based on the base container and have the TIBCO Enterprise Administrator. TIBCO container.
- BW6 Agent container: This is the container that is based on the base container and have the BusinessWorks 6.2 installed. TIBCO container.
- Ambassador container: This is a container created to implement the Docker ambassador pattern that we are going to discuss later about that. But it doesn’t have any functional purpose but it’s needed to enabled a two-way communication between both of the TIBCO containers.
This container has no more that a few commands to do the installation of this software:
- JDK 1.7 downloaded from the Oracle website and used as an initial files (The file must exist in the files directory).
- Unzip and bc rpm packages downloaded via yum.
This container has the command to install the TEA Administrator and to start it using an run.sh custom script created for this purpose:
BW6 Agent Container
This container has the command to install the BW6 Agent, start it and register the agent to the created TEA container using an run.sh custom script created for this purpose:
This is a special container that it doesn’t have any custom Dockerfile because is created used the image: cpuguy83/docker-grand-ambassador. We are going to go deeper in the next post of the series about the needed of this container and how it works.
Final Docker-Compose file
And finally we have to define the docker-compose.yml file that orchestrates the creation and the execution of all the containers defined in this post: