This project is a simple Docker image that contains a GAMA platform ready to use in headless mode within a minimal Alpine with Eclipse Adoptium OpenJDK 21 64-Bit Server VM container.
These instructions will cover usage information and for the docker container
In order to run this container you'll need to install docker.
The GAMA Platform Docker repository does contain a lot of different versions of GAMA :
- Stable releases
- starting from 1.8 Release Candidate 2
- Rolling releases
- alpha which is the latest build done with current github code. This is not tested contrary to official releases.
- Meta tags
- latest which is the latest official release
The command to run the previously builded image is simple as below
docker run gamaplatform/gama:latest <custom argument for headless execution>
By default, if you don't add argument after the container image, it will display the help message.
The container will stop automatically when the headless run will end.
If you want to enter in bash inside the gama container, you will have to explicitly change the Docker Entrypoint of the container by this way
docker run -i -t --entrypoint /bin/bash <containerID>
$ docker run --rm gamaplatform/gama:1.8.1 -help
gama-headless.sh
******************************************************************
* GAMA version 1.8.1 *
* http://gama-platform.org *
* (c) 2007-2019 UMI 209 UMMISCO IRD/SU & Partners *
******************************************************************
Welcome to Gama-platform.org version GAMA 1.8.1
sh ./gama-headless.sh [Options] [XML Input] [output directory]
List of available options:
-help -- get the help of the command line
-version -- get the the version of gama
-m [mem] -- allocate memory (ex 2048m)
-c -- start the console to write xml parameter file
-v -- verbose mode
-hpc [core] -- set the number of core available for experimentation
-socket [socketPort] -- start socket pipeline to interact with another framework
-p -- start pipeline to interact with another framework
-validate [directory] -- invokes GAMA to validate the models present in the directory passed as argument
-test [directory] -- invokes GAMA to execute the tests present in the directory and display their results
-failed -- only display the failed and aborted test results
-xml [experimentName] [modelFile.gaml] [xmlOutputFile.xml] -- only display the failed and aborted test results
sh ./gama-headless.sh -xml experimentName gamlFile xmlOutputFile
build an xml parameter file from a model
/usr/lib/gama/headless/gama-headless.sh
- Headless launch script (DefaultEntrypoint
)
-
/opt/gama-platform
- The installed version of GAMA -
/opt/gama-platform/headless/gama-platform.sh
- The helping file to launch GAMA Headless
$ docker pull gamaplatform/gama:[latest|1.8.1|..]
To see all the available tags, see there.
Clone this repository
git clone https://github.com/gama-platform/gama.docker
Move in the cloned repository
cd ./gama.docker/tags/<any-tag-name>
Build the Docker image
docker build -t gama .
- GAMA-Platform - https://github.com/gama-platform/gama/releases/
- Docker - https://docker.com
- AlpineOS - https://alpinelinux.org/
- OpenJDK 17 - https://openjdk.java.net/
- Arthur Brugiere - RoiArthurB
See also the list of contributors who participated in this project.
This project is licensed under the GPL3 License - see the LICENSE.md file for details