I created a few docker images to ease running and building MMBase in these new ages.
They are/were published at hub.docker.com, and currently also automatically (using gith actions) to ghcr.io
This is the base image which contains minimal tools to run MMBase. I.e. it is a debian image with java (8), imagemagick, and ffmpeg.
This image is based on mmbase/env
and sets up also a tomcat. Without any application though. It basically serves as a base image for other images containing actual applications
E.g.
from ghcr.io/mmbase/tomcat:latest
COPY target/oip-1.2-SNAPSHOT.war /tmp
This e.g. is then based on mmbase/tomcat
but also installs the 'example-webapp' (currently 1.9-SNAPSHOT
)
You may run it like so:
docker run --name mmbase-example-webapp -p 8080:8080 mmbase/example-webapp:latest
This will start the 'example' application on 8080. It is running on a non-persistent hsql database then.
This is currently used to build MMBase.
It contains the tools necessary for that. I.e. the build tools itself, but some tests also need the command line tools which some MMBase functionality needs when running, like
-
ImageMagick
-
FFMpeg
michiel@L824:(MMBase-1_9)~/github/mmbase/mmbase$ git remote -v
origin [email protected]:mmbase/mmbase.git (fetch)
origin [email protected]:mmbase/mmbase.git (push)
michiel@L824:(MMBase-1_9)~/github/mmbase/mmbase$ docker run -it -v $HOME/.m2:/root/.m2 -v $(pwd):/work mmbase/build:latest
root@101c0579daf9:/# cd /work/
root@101c0579daf9:/work# mvn package