Martynas, and everyone else,

Here is a revised Dockerfile.

There isn't a "one size fits all" Dockerfile so this aims to be simple, and a basis for local requirements by copying and adding to the Dockerfile.

- it downloads the jars, and checks the sha1 checksum
- allows JVM argument to be set externally.
- there is a "entrypoint" script to make adding

https://github.com/afs/jena-fuseki-docker

It is designed so, optionally, the databases and logs can be mounted as external volumes so they can created before the docker container starts and live after the container is deleted.

It can works with Linux Alpine as well - using openjdk:14-alpine is quite a lot smaller (roughly 430M vs 630M).

Another size reducing feature (not implemented) is to use jlink to produce a reduced size JDK. In £job, a Fuseki docker image, based on Alpine (not openjdk:alpine) is under 100M by installing openjdk, running jdeps/jlink to produce a smaller Java runtime, then deleting the full openjdk.

I haven't managed to come up with a completely automated way to push to docker hub as part of the release process. Because of needing to make sure only successful releases get there, I think it has to be an extra step.

This is a draft for further comment/improvement before I create a pull request.

    Andy

Reply via email to