If you go looking for Documentum’s DA 20.2 Docker file you’ll find the following:
documentum_adminstrator_20.2_docker_centos.tar (1.4 GB)
What’s wrong with this? Well, in a container world (specially when using application servers) why is there the word “centos” and why a tomcat is 1.4 GB?
The answer is simple: Whoever built this image didn’t know what a container is, and it seems that nobody knows yet at Opentext.
What is a container? Well you can google it, but a container IS NOT A VM, it is a process. The idea behind containers is to have an isolated process that can be easily scalable (ie: deploy multiple similar tomcat instances quickly). So what’s the point of running a Docker environment when what we are doing is simply deploying VM’s? None at all.
So let’s assume we can use an actual container, that can be scaled up quickly, and won’t force us to “redeploy” a Centos OS on each container (for Tomcat, as DA is not a process and should not be “a container”), what should we do? Here we go (Note that I’ve used the same VM used for Opentext Documentum 20.2 Docker with PostgreSQL install guide):
- Pull Tomcat 9 + openJDK 11 image from DockerHub:
[dmadmin@dctm202 ~]$ docker pull tomcat:9-jdk11 9-jdk11: Pulling from library/tomcat f15005b0235f: Pull complete 41ebfd3d2fd0: Pull complete b998346ba308: Pull complete f01ec562c947: Pull complete 74c11ae3efe8: Pull complete c65829cc6c71: Pull complete b98eacc09bf1: Pull complete b12b9c976670: Pull complete 62a47f54db4c: Pull complete 8c872760f50c: Pull complete Digest: sha256:2254679f4958efe7c9810d6a66d449f58b58-p 8888:80808ecd253e83e9d3afb68c51637cf4 Status: Downloaded newer image for tomcat:9-jdk11 docker.io/library/tomcat:9-jdk11 [dmadmin@dctm202 ~]$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE tomcat 9-jdk11 54877c1fa80a 40 hours ago 647MB
- Create the following folder structure and copy there these files:
/opt/docker/tomcat/conf/web.xml (just for Tag Pooling) /opt/docker/tomcat/webapps/da.war (Da to deploy) /opt/docker/tomcat/java.security (with anon whitelisted)
- Run container (I’ve used 8888 as external port as the VM has another Tomcat running on 8080):
[dmadmin@dctm202 tomcat]$ docker run -it --rm -p 8888:8080 --name tomcatda -v /opt/docker/tomcat/java.security:/usr/local/openjdk-11/conf/security/java.security -v /opt/docker/tomcat/conf/web.xml:/usr/local/tomcat/conf/web.xml -v /opt/docker/tomcat/webapps:/usr/local/tomcat/webapps tomcat:9-jdk11
And that’s it, you now have a 650MB real container for DA.