You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Stian Soiland-Reyes <st...@apache.org> on 2015/09/13 06:00:35 UTC

Views on Fuseki Docker image?

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

Re: Views on Fuseki Docker image?

Posted by Stian Soiland-Reyes <st...@apache.org>.
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
<ru...@gmail.com> 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 <st...@apache.org>
> 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

Re: Views on Fuseki Docker image?

Posted by Rurik Thomas Greenall <ru...@gmail.com>.
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 <st...@apache.org>
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
>

Re: Views on Fuseki Docker image?

Posted by Stian Soiland-Reyes <st...@apache.org>.
Inspired by your image, but using a Dockerfile, Alpine, JDK 8 and Jena
3,  I had a go to make another Docker image for jena/riot.

Not sure if we should call it 'jena' or 'riot' - I think Jena is more
well known.

https://github.com/stain/jena-docker/blob/master/jena



On 18 September 2015 at 14:18, Stian Soiland-Reyes <st...@apache.org> wrote:
> Right, that's the kind I'm thinking off - this is useful for running
> riot and friends out of the box.
>
> What is the source for making rvesse/jena2 - or is it done manually?
> (There was no Source Repository link)
>
> Do you think it would make sense with two official images then? jena
> and jena-fuseki?
>
> What is your view on how those images should be built?
>
>
> On 14 September 2015 at 09:43, Rob Vesse <rv...@dotnetrdf.org> wrote:
>> On 13/09/2015 05:00, "Stian Soiland-Reyes" <st...@apache.org> wrote:
>>
>>>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.
>>
>> For example:
>>
>> https://hub.docker.com/r/rvesse/jena2/
>>
>> Rob
>>
>>
>>
>>
>
>
>
> --
> 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

Re: Views on Fuseki Docker image?

Posted by Stian Soiland-Reyes <st...@apache.org>.
Right, that's the kind I'm thinking off - this is useful for running
riot and friends out of the box.

What is the source for making rvesse/jena2 - or is it done manually?
(There was no Source Repository link)

Do you think it would make sense with two official images then? jena
and jena-fuseki?

What is your view on how those images should be built?


On 14 September 2015 at 09:43, Rob Vesse <rv...@dotnetrdf.org> wrote:
> On 13/09/2015 05:00, "Stian Soiland-Reyes" <st...@apache.org> wrote:
>
>>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.
>
> For example:
>
> https://hub.docker.com/r/rvesse/jena2/
>
> Rob
>
>
>
>



-- 
Stian Soiland-Reyes
Apache Taverna (incubating), Apache Commons RDF (incubating)
http://orcid.org/0000-0001-9842-9718

Re: Views on Fuseki Docker image?

Posted by Rob Vesse <rv...@dotnetrdf.org>.
On 13/09/2015 05:00, "Stian Soiland-Reyes" <st...@apache.org> wrote:

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

For example:

https://hub.docker.com/r/rvesse/jena2/

Rob