What about configuring and deploying IBM Content Search Services in a docker container ? Let’s see how to do this !
The DockerFile
I will use the following docker file :
FROM centos:7
ADD css /tmp/css
RUN yum install -y telnet net-tools
RUN /tmp/css/5.5.0.0-P8CSS-LINUX64.bin -i silent -f /tmp/css/css_silent_install.txt
RUN /opt/IBM/ContentSearchServices/CSS_Server/bin/configTool.sh set -system -configPath /opt/IBM/ContentSearchServices/CSS_Server/config -securePort 8199
EXPOSE 8191 8199
COPY css_start.sh /opt/IBM/ContentEngine/start.sh
RUN chmod 755 /opt/IBM/ContentEngine/start.sh
ENTRYPOINT ["/opt/IBM/ContentEngine/start.sh"]
Detailed command line :
FROM centos:7
ADD css /tmp/css
RUN yum install -y telnet net-tools
Declaring a new container based on CentOS 7, adding IBM Content Search Services binaries directory in /tmp/css, and installing some usefull tools as netstat or telnet.
RUN /tmp/css/5.5.0.0-P8CSS-LINUX64.bin -i silent -f /tmp/css/css_silent_install.txt
RUN /opt/IBM/ContentSearchServices/CSS_Server/bin/configTool.sh set -system -configPath /opt/IBM/ContentSearchServices/CSS_Server/config -securePort 8199
Installing IBM Content Search Services in the newly created container, and configuring it to listen on secured port.
EXPOSE 8191 8199
COPY css_start.sh /opt/IBM/ContentEngine/start.sh
RUN chmod 755 /opt/IBM/ContentEngine/start.sh
ENTRYPOINT ["/opt/IBM/ContentEngine/start.sh"]
Exposing ports 8191 and 8199, copying the startup script in the container, setting rights, and set the container entry point.
The silent installation file
Classic installation file, already used in https://blog.xoupix.fr/index.php/2019/01/18/installing-ibm-content-search-services-with-secured-port/.
# IBM Content Search Services Silent Installer Configuration
#
LICENSE_ACCEPTED=true
USER_INSTALL_DIR=/opt/IBM/ContentSearchServices
SERVER_INSTALL_DIR=/opt/IBM/ContentSearchServices/CSS_Server
USER_INPUT_RESULT_SEED=
USER_INPUT_RESULT_PORT=8191
USER_INPUT_MAX_HEAP_SIZE=4000
The startup script
#!/bin/bash
/opt/IBM/ContentSearchServices/CSS_Server/bin/startup.sh
tail -f /dev/null
Executing IBM Content Search Services, and tailing /dev/null file to keep the container up.
Finally
Your platform is ready to handle IBM Content Search Services in a docker container, exposing services on ports 8191 and 8199. Don’t forget to mount your Index Area directories in the docker container, by stopping and starting it again, to keep your files up to date.
Thumbs up.
This is most useful if you are stuck with a version < 5.5.1 (and want to transistion to a containerized environment). Starting with version 5.5.1 docker images are available for the Content Search Services (along with the corresponding FileNet, etc. images)