In this guide we will show you how to create a Docker container for Odysseus. Such a container can help you to run and share Odysseus more easily. If you want to use our predefined Odysseus Server Docker Image, see Run with Docker.

Create a docker image

Currently, we provide docker only for linux X86_64 based systems. The images can be used for Linux and Windows (we did not make any tests with MacOS)

If you want to create you own docker image, you can use the following dockerfile as a starting point:

https://git.swl.informatik.uni-oldenburg.de/projects/ODYJENK/repos/odysseus_all_new/browse/Dockerfile

Please have a look at the official docker documentation for further information about docker.

Szenario: Local Update site and other features should be installed into a docker image

Here:

  • The base odysseus images is used as base image
  • An own update site (e.g. created with maven) is copied to the image
  • The database feature is installed from the stable update site
  • From the own file based update site the sample feature is installed
FROM odysseusol/odysseus
ADD ./de.uniol.inf.is.odysseus.sample.feature.update /de.uniol.inf.is.odysseus.sample.feature.update
RUN /usr/lib/odysseus/odysseus -application org.eclipse.equinox.p2.director -repository https://odysseus.informatik.uni-oldenburg.de/updatesite/odysseus_all_new/stable/origin/master/latest/ -installIU de.uniol.inf.is.odysseus.database.feature.feature.group -destination /usr/lib/odysseus -profile DefaultProfile;
RUN /usr/lib/odysseus/odysseus -application org.eclipse.equinox.p2.director -repository file:///de.uniol.inf.is.odysseus.sample.feature.update -installIU de.uniol.inf.is.odysseus.sample.feature.feature.group -destination /usr/lib/odysseus -profile DefaultProfile;
EXPOSE 8888
CMD ["/usr/lib/odysseus/odysseus","-console -debug -data @noDefault"]

Hint: To get the names of the installable units 

  • look at the update-site folders in the features folder
  • take the full name of the feature.jar until the "_", e.g. : de.uniol.inf.is.odysseus.database.feature_1.0.0.202111142343.jar  → de.uniol.inf.is.odysseus.database.feature
  • append .feature.group