Thanks for the suggestion to use alpine!
I agree that the Docker images should be small - particular as Jena Docker images would be just as useful for a "taster session' as a help for developers who need a bit of Jena right away, and sysadmins who want to put say Fuseki in production. I tried using alpine as a base image, but had to use anapsix/alpine-java to get Oracle Java 8, as needed for Jena 3. See https://imagelayers.io/?images=stain%2Fjena-fuseki:latest Complete image of fuseki: 202 MB Which is some improvement from the ~850 MB for the previous Fuseki approach! To test the update, try: docker pull stain/jena-fuseki I also had a go at evolving Rob's riot image using the same approach: https://hub.docker.com/r/stain/jena/ This docker image exposes the 'riot' command, and clicks in at 187 MB. With this significant decrease I think I will suggest abandoning my Maven-inside-Docker attempt, which would increase the container size. On 15 September 2015 at 09:37, Rurik Thomas Greenall <[email protected]> wrote: > I like the initiative, I would like to see an official docker image. > > Currently, we use fisch42/fuseki in our project. I have looked at several > approaches, based on building the docker image in vagrant with different > distros. Currently, I'm favouring alpine linux as this give a very small > image. > > I think Stian's approach is broadly a good one. > > I'm looking at this in relation to vagrant/alpine. > > Rurik > > > > On Sun, Sep 13, 2015 at 6:00 AM, Stian Soiland-Reyes <[email protected]> > wrote: > >> Hi, >> >> There is currently a thread on dev@jena about considering having an >> official Jena Fuseki docker image. >> >> >> As a quick summary about what docker is: >> >> Docker https://www.docker.com/ is a Linux Container-based tool which >> automates software deployment by packaging a virtual root file system >> with the software pre-installed and (ideally) pre-configured. Official >> and unofficial docker images are shared and dnwoon the Docker Hub and >> can be used in a hierarchy (e.g. a Maven image based on a Open JDK >> image) and network-linked to each other (e.g. a Tomcat image linked to >> a separate mySQL image) >> >> In a Docker-centric world, each application runs as its own container, >> and are therefore isolated from OS-level changes and any cross-version >> issues. Docker can be used for developers to quickly get a >> production-like environment on their desktop, but also used for >> deployment in production - you can finally ensure you are testing >> exactly the same software as in prod. >> >> >> >> While Fuseki 1 required a bit of manual configuration to run, Fuseki 2 >> can be run 'out of the box', and with its new web interface can even >> be used without any further configuration, e.g. for playing around >> with RDF data. It is therefore a prime candidate for a Docker image. >> >> >> >> There are already a handful of Fuseki images on the Docker hub: >> >> >> https://hub.docker.com/search/?q=fuseki&page=1&isAutomated=0&isOfficial=0&starCount=0&pullCount=0 >> >> I think it would be beneficial for the Jena community to create an >> official image, and bring together the strengths of each of these. I >> think at the core they are all very similar, but vary a bit in their >> documentation and extensibility. >> >> >> I am not neutral here, I have suggested for Jena to adapt a version of >> my own approach >> ( https://hub.docker.com/r/stain/jena-fuseki/ ) -- but would love to >> get a desiderata for a Fuseki Docker image - and also hear from any of >> the other Fuseki Docker guys so we can know which approach Jena should >> take - if any. >> >> >> >> It might also be interesting to have a Jena command line Docker image, >> e.g. with riot and the other bin/ tools. I would propose that to be a >> separate image which is just for command line usage. >> >> -- >> Stian Soiland-Reyes >> Apache Taverna (incubating), Apache Commons RDF (incubating) >> http://orcid.org/0000-0001-9842-9718 >> -- Stian Soiland-Reyes Apache Taverna (incubating), Apache Commons RDF (incubating) http://orcid.org/0000-0001-9842-9718
