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_PERSISTENT
is 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:2
which 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_persistent
which 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).