This is a first attempt at providing a Docker image for the python branch of MadNkLO.
The docker image itself is ndeutschmann/madnklo and is available on the Docker hub.
run the madnklo_docker.sh command provided in this repository in your desired working directory
- run
git clone https://github.com/ndeutschmann/madnklo_docker.git
-
ensure the Docker is running
- for Linux look here
- for OSX/Windows start the app or use docker-machine
-
Setup a working directory, there are two options
- if the environment variable
DOCKER_MNK_PERSISTENTis set, the program will use it as a working directory for input/output. This variable can be set usingsource madnklo_docker.sh --set_persistent $DESIRED_PERSISTENT_PATH - just run the program from your desired working directory
- if the environment variable
run madnklo_docker.sh [args] to start the image and immediately start MadNkLO with all the necessary tools pre-compiled.
Any arguments [args] provided which are NOT --set_persistent or --docker_build will be passed to the mg5_aMC executable.
- The base Docker image is
python:2which runs on Debian Buster - MadNkLO is installed in
/home/hep/madnklo - The entrypoint is
/home/hep/madnklo/bin/mg5_aMC - The default working directory is
/var/madnklo_persistentwhich is the expected volume mountpoint to be shared with the host
To inspect the system you can run docker run -it --entrypoint /bin/bash --rm ndeutschmann/madnklo
The run script madklo_docker.sh provided with this repository has the default command
docker run -it --rm -v $DOCKER_MNK_PERSISTENT:/var/madnklo_persistent ndeutschmann/madnklo $1
which mounts $DOCKER_MNK_PERSISTENT (if undefined, uses the current host workdir) on the host to the default workdir /var/madnklo_persistent.
If a command is provided for the executable this is where it should be placed and MadNkLO outputs processes here.
You can re-build the image locally using madnklo_docker.sh --docker_build inside the repository (./docker_src should be available).