This repository provides a set of instructions to create Docker containers to start a full working set of the MACI framework published on https://maci-research.net/
The service is launched with Docker Compose initiating and connecting three Containers:
- MACI_Backend running the management framework based on .Net
- Jupyter-Notebook for analyzing experiments
- Mininet-Worker to run experiments (multiple instances can be started, however, be aware of side effects when executing parallel network experiments on the same host)
-
Linux (Ubuntu 16.06)
Docker-CE and Docker compose need to be installed, see https://docs.docker.com/compose/install/
#run as root
apt-get update
apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
apt-get update
apt-get install docker-ce
curl -L https://github.com/docker/compose/releases/download/1.15.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
service docker start
-
macOS
Install Docker (e.g., following these instructions)
-
Windows
Install Docker (e.g., following these instructions).
The MACI framework is loaded as a git submodule and needs to be loaded before starting the container:
git submodule init
git submodule update --remote
-
Attached (logs visible)
docker-compose up --build
-
Detached
docker-compose up -d --build
-
Reset (CAUTION all local docker instances and volumes are removed)
docker stop $(docker ps -aq) docker rm $(docker ps -aq) docker volume prune -f
-
How do I start up more workers
Newer Docker-Compose releases support the flag
--scale mininet=n
to launch n workers.