Running my ChatBot application inside Docker Liberty profile container

Share

I used the steps bellow to run my chatbot servlet application inside of a Docker container.

1 – Download WAS Liberty Docker image:

docker pull websphere-liberty

2 – Create a Docker file with the following lines

FROM websphere-liberty
ADD ChatBot.war /opt/ibm/wlp/usr/servers/defaultServer/dropins/
ADD server.xml /opt/ibm/wlp/usr/servers/defaultServer/
ENV LICENSE accept

ChatBot.war is my chatbot application.
To add features and configuration for your server you need to update the server.xml.
Do not forget to put host=”*” on httpEndpoint or you will not access the server from your browser.

The server.xml is listed below

<server description=”new server”>

<!– Enable features –>
<featureManager>
<feature>javaee-7.0</feature>
<feature>localConnector-1.0</feature>
<feature>distributedMap-1.0</feature>
<feature>webCache-1.0</feature>
</featureManager>
<basicRegistry id=”basic” realm=”BasicRealm”>
<!– <user name=”yourUserName” password=”” />  –>
</basicRegistry>
<!– To access this server from a remote client add a host attribute to the following element, e.g. host=”*” –>
<httpEndpoint host=”*” httpPort=”9080″ httpsPort=”9443″ id=”defaultHttpEndpoint”/>
<!– Automatically expand WAR files and EAR files –>
<applicationManager autoExpand=”true”/>
<applicationMonitor updateTrigger=”mbean”/>
<distributedMap id=”watsoncache” jndiName=”services/cache/watsoncache”>
<diskCache/>
</distributedMap>
<keyStore id=”defaultKeyStore” password=”password”/>
<basicRegistry id=”basic” realm=”BasicRealm”>
<user name=”user” password=”password”/>
</basicRegistry>
</server>

3 – execute docker built -t chatbot .
4 – execute docker run -d -p 80:9080 -p 443:9443 chatbot
5 – Open your browser and access your application using localhost.