BPM, Workflow, and Case

 View Only

Install IBM BAW Express 22.0.2 to Centos 7 Docker Container

By Selcuk Colak posted Fri March 29, 2024 01:40 AM


You can find the manual of dockerizing traditional BAW. You can use it for local testing, for POC or comparing new/old versions locally. This will be a typical installation. When we do a typical installation it will install Websphere, BAW and DB2 to our Centos container.

Download and Install Docker Desktop

After we run the docker desktop execute the command below. With this Centos container we can do a SSH connection from our main environment. Also we mount a volume to docker container to execute installation files.

docker run -d -it --name myCentosBaw -p 2222:22 -p 9043:9043 -p 9443:9443 -p 50000:50000 --hostname workflow --privileged -v C:\Users\scolak\BAWDockerSharedFolder\BAW:/mnt/tmp centos:7 /usr/sbin/init

Download the relevant files from IBM and copy these files to C:\Users\USERNAME\BAWDockerSharedFolder\BAW

  • Business Automation Workflow Express 22.0.2 for Linux X86 64Bit (1 of 3) Multilingual
  • Business Automation Workflow Express 22.0.2 for Linux X86 64Bit (2 of 3) Multilingual
  • Business Automation Workflow Express 22.0.2 for Linux X86 64Bit (3 of 3) Multilingual

After that we need to prepare our Centos 7 for BAW and DB2 installation. Execute the command below in CMD

  • docker exec -it myCentosBaw bash

After this command we will reach the Centos 7 terminal. Execute the commands below to prepare your environment

  • echo ‘root:PASSWORD’ | chpasswd
  • yum groupinstall “X Window System”
  • yum install openssh-server openssh-clients
  • yum install xorg-x11-apps
  • yum install bzip2
  • yum install wget
  • yum install pam.i686 libaio compat-libstdc++-33.i686
  • yum install sudo
  • yum install libaio.so.1
  • yum install libnuma.so.1
  • yum install pam-devel
  • yum install numactl-libs
  • yum install pam-devel-1.1.8–23.el7.i686
  • yum install which
  • yum install dbus-x11
  • yum groupinstall ‘Fonts’
  • systemctl stop firewalld
  • systemctl disable firewalld
  • systemctl start sshd

When the preparation is done it is better to reboot container. After reboot, we need to change sshd_config file to have X11 screen forwarding in our main environment. For this, execute the command below

  • vi etc/ssh/sshd_config

Then modify the parameters like below and save it

  • X11Forwarding yes
  • X11DisplayOffset 10
  • X11UseLocalhost no
  • ** Don’t forget to restart your centos container

After that we need to install the specific version of Firefox to execute launchpad.sh. Execute the commands below inside the container.

Now we need to go to our main OS and install the MobaXterm application. MobaXterm has its own X11 server in it and it is automatically setting up the necessary files.

We can do a SSH to our container.

Host:Port => localhost:2222

If we finished every step correctly, we will see the screen (X-11 forwarding is green) below

Now we need to go to /mnt/tmp (this is the mapped location in container) and untar the files below. Do not untar them with 7zip or Winzip. They are not unzipping them correctly. Just execute the commands below

  • tar -xvf BAW_Exp_22.0.2_Lnx64_1of3.tar.gz
  • tar -xvf BAW_Exp_22.0.2_Lnx64_2of3.tar.gz
  • tar -xvf BAW_Exp_22.0.2_Lnx64_3of3.tar.gz

And last thing execute the command below

  • ./launchpad.sh

Now our Centos environment, our X11 and installation files are ready, we can follow IBM documentation to install BAW.

Once the installation is done, we can start db2, dmgr and node to test the application. If everything is running as expected, we can commit our container and create a new image of this container

  • docker commit IMAGEID bawexpressv22:1

Note: We can get the imageid with the command below

  • docker container ls -a

And last if we create a new container with the compose file below, we do not need to start manually db2, dmgr, node or application

  • Create the file below with docker-compose.yml name

version: '3'
    image: bawexpressv22:1
      - "2222:22"
      - "9043:9043"
      - "9443:9443"
      - "50000:50000"
    hostname: workflow
    privileged: true
    command: ["sh", "-c", "su - db2inst1 -c db2start && /opt/ibm/Workflow/v22.0/profiles/DmgrProfile/bin/startManager.sh && /opt/ibm/Workflow/v22.0/profiles/Node1Profile/bin/startNode.sh && /opt/ibm/Workflow/v22.0/profiles/Node1Profile/bin/startServer.sh SingleClusterMember1 && tail -f /opt/ibm/Workflow/v22.0/profiles/Node1Profile/logs/SingleClusterMember1/SystemOut.log"]

  • In CMD go to docker-compose.yml folder and execute the commands below
  • docker-compose build
  • docker-compose up

Now when we run the container next time, our environment will be ready, up and running