Hi Jeen,
Glad it worked
😊
The :latest is just a static tag like any other, so I can just add it even without manifest.
But AFAIK it won’t get updated automatically to always point to the newest version (one has to remember to re-tag it).
The manifest will make it a bit easier for the end user to get the correct image for their platform, without having to specify it
(see
https://developer.ibm.com/linuxonpower/2017/07/27/create-multi-architecture-docker-image/
and
https://www.ecliptik.com/Cross-Building-and-Running-Multi-Arch-Docker-Images/,
I ended up creating two separate Docker files, using FROM amd64/tomcat and FROM arm64v8/tomcat)
Automating the build is a very good idea, but could be tricky because RDF4J shares the Eclipse organization account.
(apparently hub.docker is not good at providing fine-grained controls, so a mistake might affect another project...)
Getting access is done by sending a mail to Eclipse EMO, providing an existing hub.docker id, and promising to play nice, so that’s what I did
😊
Actually Hub.docker itself can automatically build images when commits are pushed to github,
but if I read the documentation correctly, it requires tying the docker account to a (one) github account,
so I better check with Eclipse EMO in order not to break stuff :-)
Best regards
Bart
From: rdf4j-dev-bounces@xxxxxxxxxxx <rdf4j-dev-bounces@xxxxxxxxxxx> on behalf of Jeen Broekstra <jeen.broekstra@xxxxxxxxx>
Sent: Saturday, January 5, 2019 3:13:42 AM
To: rdf4j developer discussions
Subject: Re: [rdf4j-dev] workbench+server image on hub.docker eclipse
The AMD image does the trick, I can spin it up and get a running RDF4J Workbench on my macbook. Thanks for that! Btw
docker logs on the old image container (after it had been killed) returned nothing.
A manifest would be great, will that also enable people to select :latest instead of a specific version?
Finally I assume we want to build deployment of these images into our pipeline somehow. Can you enlighten me how you push these images? If we can turn it into a maven goal and/or a
Jenkins job we can start making this part of our release process. If we have a docker image automatically available for every release we can also do a bit more PR around this way to quickly get a fully fledged RDF database up and running.
Hi,
Meanwhile I’ve created two new test images, one for ARM64v8 and one for x86-64/amd64.
I’ll have to do some minor tweaking to make it more transparent for the end user (see also
https://blog.docker.com/2017/11/multi-arch-all-the-things/),
i.e. a docker manifest to automatically select the correct architecture image
The ARM version seems to work, haven’t tested the intel/amd64 version yet, but you may want to try
docker pull eclipse/rdf4j-workbench:amd64-2.4.2-testing3
Best regards
Bart
From: Bart Hanssens (BOSA)
Sent: vrijdag 4 januari 2019 9:00
To: rdf4j developer discussions <rdf4j-dev@xxxxxxxxxxx>
Subject: Re: [rdf4j-dev] workbench+server image on hub.docker eclipse
Hi Jeen,
autch, probably my bad, my docker server is ARM-based, not Intel, so I probably have to push/configure the intel version as well.
Can you execute "docker ps --all" to get the ID of the (not running) container, and then "docker logs <id>" to get some more info ?
Thanks
Bart
Hi Bart,
I finally got around to taking this for a test spin, great that we can start deploying on DockerHub!
Unfortunately, I'm stuck in actually getting it to work. I can pull the image and start the container easily enough, but no joy on actually seeing the Workbench when accessing
http://localhost:8080/rdf4j-workbench. The logs in
the container don't show anything (catalina.out is just empty).
docker pull eclipse/rdf4j-workbench:2.4.2-testing1
docker run -d -p 8080:8080 -e JAVA_OPTS="-Xms1g -Xmx4g" -v data:/var/rdf4j -v logs:/usr/local/tomcat/logs eclipse/rdf4j-workbench:2.4.2-testing1
After I've done this, docker ps shows:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fb11c037a403 eclipse/rdf4j-workbench:2.4.2-testing1 "catalina.sh run" 11 minutes ago Up 5 minutes 0.0.0.0:8080->8080/tcp cranky_turing
curl: (52) Empty reply from server
Any idea what might be the problem?
Good point, seems like the tomcat image is indeed root… I’ll create a tomcat user.
Best regards
Bart
Seems quite decent Bart :)
The only thing I know that’s worth double checking is if tomcat is installed as root or not in the base image. Even in docker
it’s a good idea to not run things as root.
Hi Håvard,
The Dockerfile itself resides in
https://github.com/eclipse/rdf4j-tools/tree/develop/assembly/src/main/dist/docker
Best regards
Bart
Hi Bart,
Where is the source for the dockerfile?
Hi,
with some help from the Eclipse team (since they manage the eclipse organization on
hub.docker.com),
I’ve added the Workbench+Server docker from eclipse/rdf4j-tools/tree/master/assembly/src/main/dist/docker
https://hub.docker.com/r/eclipse/rdf4j-workbench/
I’ve used the tag 2.4.1-testing, feedback is welcome of course.
Two things that can be improved :
-
provide a tomcat username/password when starting the docker image
-
configure HTTPS
(and/or maybe consider using Eclipse Jetty instead, since the server pom already includes a dependency on jetty-server…)
Best regards
Bart
_______________________________________________
rdf4j-dev mailing list
rdf4j-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/rdf4j-dev
_______________________________________________
rdf4j-dev mailing list
rdf4j-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/rdf4j-dev
|