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