The current version of this image is 0.8.9.
Docker can be installed following the guidelines below:
- for Linux, you can run
curl -fsSL https://get.docker.com/ | sh
on your command line and everything is done automatically (if you havecurl
installed, which is normally the case), - for Windows
- for Mac OS
You can run this image by using docker run
in a normal terminal (Linux), the Docker Quickstart Terminal (Mac OS), or the Docker Toolbox Terminal (Windows). The Evaluator GUI will then be started inside the container. This GUI is a web-based application, meaning that you can access it via your web browser. With your browser, you can then upload and download experimental data, install example data sets from the web, start evaluation processes, and download the generated reports as PDF, LaTeX sources, or HTML. In the following, we first discuss a
If you have installed Docker, you can run this image by using the following command in a normal terminal (Linux), the Docker Quickstart Terminal (Mac OS), or the Docker Toolbox Terminal (Windows):
docker run -t -i -p 9999:8080/tcp optimizationbenchmarking/evaluator-gui
This runs the latest
version of the evaluator GUI. You can access it with your browser at address
http://localhost:9999
under Linux orhttp://<dockerIP>:9999
under Windows and Mac OS, wheredockerIP
is the IP address of your Docker container. This address is displayed when you run the container. You can also obtain it with the commanddocker-machine ip default
.
When starting the image, you can also specify optimizationbenchmarking/evaluator-gui:<VERSION>
where <VERSION>
should be replaced with the version of the GUI you want to run.
The above command will keep the container's console open and you can receive log data and close the program with Ctrl-C
. If you do not care about the logged results and want to run the container in the background, use
docker run -t -d -p 9999:8080/tcp optimizationbenchmarking/evaluator-gui
When executing this command, Docker will print some kind of key, a long sequence of numbers of letters, which could look like the following:
docker run -t -d -p 9999:8080/tcp optimizationbenchmarking/evaluator-gui
7a18dc0f674523795b700ba5c1a7671ed41e27d5fdfe431023f0cc20aed43921
You should copy this key (in this example 7a18dc0f674523795b700ba5c1a7671ed41e27d5fdfe431023f0cc20aed43921
, but it could also be something else) somewhere. Once you want to shut down the container with docker stop
and the key, e.g.,
docker stop 7a18dc0f674523795b700ba5c1a7671ed41e27d5fdfe431023f0cc20aed43921
Of course, the key in your situation may look different.
In the section below we discuss how you configure the port at which the GUI should be accessible and where the data should be stored.
There are two main configuration issues you can handle: ports and data volume.
The port through which you access the application is specified by the -p
parameter provided to Docker. The general form is -p PORT:8080/tcp
, where PORT
should be replaced with the number of the port under which you want to access the GUI from the outside world. Often, we would pick port 80
or 8080
and, hence, specify -p 80:8080/tcp
or -p 8080:8080/tcp
. If you specify 80
as port, you can directly browse to the GUI via localhost on Linux (replace localhost
with the IP address of the Docker container on Windows or Mac OS). For port 8080
, you need to specify localhost:8080 (under Linux).
These ports are recommended if you run the system as a server to be accessed from the network. However, they may be unavailable under certain conditions:
- You already run a web server at port 80.
- You already run an application server at port 8080.
- You use Docker under Windows or Mac OS.
In this case, it may be easier to stick with some obscure port, like the 9999
in our examples above.
The GUI uses the data part /data
inside the Docker container. This volume can be "mounted" to a real outside directory by using the -v
parameter provided to docker. Write -v /ABSOLUTE/PATH/:/data
to specify /ABSOLUTE/PATH/
as absolute path to the data folder to be used by the container. Use -v $(pwd)/data/:/data
to map the current working directory as /data/
folder into the container.
This environment allows you to run the evaluator GUI as a dockerized application on your machine. It includes all the necessary software components which it mainly imports from the image evaluator-runtime, including:
For R
we automatically pre-install libraries which may be needed by our software, namely