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 user our predefined Odysseus Server Docker Container, see Run with Docker.
Step-by-step guide
We assume that you have a Linux system up and running, e.g. Ubuntu. If you want to try it out without changing your system or if you don't have a Linux machine, we recommend VirtualBox.
Installing Docker
- Open a Terminal window.
- Type "docker"
- If Docker is already installed, a help page with common Docker options and commands will show up.
- If not, your Terminal will probably give you a hint how to install Docker. Under Ubuntu, it is "sudo apt-get install docker.io"
Preparing the Folder
Now we need a folder where we can put everything that we need in.
- Create a folder, e.g. in your "Documents"-folder.
- Move to that folder
- Create another folder "odysseus" in that folder
Creating the magic folder
tobi@tobi-VirtualBox:~$ ls Desktop Documents Downloads examples.desktop Music Pictures Public Templates Videos tobi@tobi-VirtualBox:~$ cd Documents/ tobi@tobi-VirtualBox:~/Documents$ ls tobi@tobi-VirtualBox:~/Documents$ mkdir odysseusdocker tobi@tobi-VirtualBox:~/Documents$ ls odysseusdocker tobi@tobi-VirtualBox:~/Documents$ cd odysseusdocker/ tobi@tobi-VirtualBox:~/Documents/odysseusdocker$ mkdir odysseus
- Now we need the version from Odysseus that we want to run. We can use the Odysseus Server Version as an example.
- Download Odysseus Server for Linux here (we use the 64-bit version): http://odysseus.informatik.uni-oldenburg.de/index.php?id=76
- Unzip the content of your download to the odysseus-folder within our "odysseusdocker"-folder
- Create a new file in the "odysseusdocker"-folder with the name "startup.sh" and the content in the box below (e.g. with nano or some other text editor)
startup.sh
#!/bin/sh cd home cd odysseus echo "Starting Odysseus ..." ./odysseus
- Now we want to create the Dockerfile which describes our Docker container
- Create a new file called "Dockerfile" within our "odysseusdocker"-folder (e.g. with nano again or what ever you prefer)
- Put the content from the box below into the Dockerfile
Dockerfile
# We will use Ubuntu as our basis FROM ubuntu:15.10 # We need Java 8 - install Java 8 on that Ubuntu machine RUN apt-get update RUN apt-get install software-properties-common -y RUN add-apt-repository ppa:webupd8team/java -y RUN apt-get update RUN echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections RUN apt-get install oracle-java8-installer -y RUN apt-get install oracle-java8-set-default # Add java to environment variables ENV JAVA_HOME /usr/lib/jvm/java-8-oracle # Start Odysseus on startup of the container ADD startup.sh /home/startup.sh ADD odysseus /home/odysseus CMD ./home/startup.sh # We need a port to be exposed EXPOSE 9669