# Objective This repository contains the materials that are used in the Co-simulation tutorial delivered at Wintersim Conference, in 2019. # Running the Examples 1. Install [Docker](https://www.docker.com/). 2. Using docker's console, navigate to the root of this repository. 3. Build the docker image: ``` docker build -t jupyter . ``` This will download all dependencies you need to run the examples. You might need root access. 4. If you are running docker on windows, you might need to note the host's ip address by running: ``` docker-machine ip ``` Let us denote it by `MACHINE_IP`. If this step fails, you might need to run the next step to start the docker machine first. 5. Run the docker container: ``` docker run --name jupyterrun -p 8888:8888 -t jupyter ``` This will start a container with name `jupyterrun` of the image tagged with `jupyter` and will forward any traffic going into port 8888 (in the host machine) to the same port in the virtual machine. Let `TOKEN` denote the token given. 6. Open your browser and navigate to `http://MACHINE_IP:8888/?token=TOKEN` 7. Explore the examples. 8. Any changes made in the notebooks affect only the files inside the container. To retrieve them, you need to detach from the `jupyterrun` container (typing `Ctrl+C` on docker's console), and use the following command on docker's console: ``` docker cp jupyterrun:/opt/notebooks/tutorial mytutorial ``` Which will copy all files under the `tutorial ` folder to the `mytutorial` folder in the repository. 9. To terminate and clean up, run the following commands ``` docker stop jupyterrun docker rm jupyterrun ``` # Exporting the VM If you want to preserve the virtual machine that is used to run the materials in this repository (for example, you may want to later load it from a USB stick), follow these instructions: 1. Build the docker image as in the instructions above. 1. Export the VM: `docker save jupyter | gzip > jupyter.tar.gz` 1. Save the `jupyter.tar.gz` wherever you want. # Loading the VM The VM exported with the above instructions can be loaded as follows: 1. Locate the `jupyter.tar.gz` file. 1. Load the VM: `docker load < jupyter.tar.gz`