The current version of this image is 0.8.9.
1. Installing Docker
Docker can be installed following the guidelines below:
- for Linux, you can run
curl -fsSL https://get.docker.com/ | shon your command line and everything is done automatically (if you have
curlinstalled, 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:9999under Linux or
http://<dockerIP>:9999under Windows and Mac OS, where
dockerIPis the IP address of your Docker container. This address is displayed when you run the container. You can also obtain it with the command
docker-machine ip default.
When starting the image, you can also specify
<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.
2.2. Detailed Configuration
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
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:
R we automatically pre-install libraries which may be needed by our software, namely