Skip to content

mmbase/docker

Repository files navigation

MMBase Docker Images

I created a few docker images to ease running and building MMBase in these new ages. Basically they are java 8, which is already a bit more modern then the latest releases back then. It shouldn’t be a big issue to run on more recent jvm’s so experimentally also java 25 images are built.

They are/were published at hub.docker.com, and currently also automatically (using gith actions) to ghcr.io.

Tagging

The images are tagged as follows:

<version>-jdk<major java version>

where version is: - latest : latest build from main branch - <branch name> : name of the branch, so 'main', because we didn’t branch this yet. - [0-9+]: latest release, i.e. a tag of this repository. A simple integer.

and major java version is either 8 or 25 currently.

mmbase/env:latest-jdk25

This is the base image which contains minimal tools to run MMBase. I.e. it is a debian image with java (8 or 25) and image magick.

To run the streams application 'ffmpeg' is needed, which be installed additionally.

Also, a proper prompt and other convenience tools are installed.

mmbase/tomcat:latest-jdk25

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-jdk25

ARG MARIA_DB_VERSION=3.5.7

RUN  curl --fail -L https://repo1.maven.org/maven2/org/mariadb/jdbc/mariadb-java-client/${MARIA_DB_VERSION}/mariadb-java-client-${MARIA_DB_VERSION}.jar -o ${CATALINA_BASE}/lib/mariadb-java-client-${MARIA_DB_VERSION}.jar

# ON BUILD, the war in target/*.war will be used

mmbase/build:latest-jdk25

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

Example

michiel@L824:(MMBase-1_9)~/github/mmbase/mmbase$ git remote -v
origin  git@github.com:mmbase/mmbase.git (fetch)
origin  git@github.com: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-jdk25
root@101c0579daf9:/# cd /work/
root@101c0579daf9:/work# mvn package

mmbase/commandserver:latest-jdk25

This is an extension of mmbase/env:latest-jdk25 , which has the MMBase command server installed, and also ffmpeg.

mmbase/example-webapp:latest

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages