Skip to content

User Guide Docker

soon edited this page Sep 13, 2022 · 6 revisions

Docker (For OSX)

This is instruction for installing omnetpp and quisp on docker. This on MacOS Catalina (10.15.3) and Mojave(10.14).

TL;DR

  • Install brew, docker, XQuartz and socat with sh docker_tools.sh
  • clone quisp
  • docker pull ghcr.io/sfc-aqua/quisp
  • Run docker with sh docker_run.sh
  • Run omnetpp command on the docker container

Automated way

  1. Open your terminal and run
$ git clone https://github.com/sfc-aqua/quisp.git

You can download quisp from github. Enter quisp with cd quisp 2. Run shell script

$ sh docker_tools.sh

After you have successfully installed the related tools, please reboot your laptop. (Maybe just rebooting your terminal is enough.)

  1. Build docker container

Open terminal and run,

$ docker pull ghcr.io/sfc-aqua/quisp

A docker image called quisp should have been created. You can check with the command docker images.

  1. Run docker container

OK, now you can enter the container.

$ sh docker_run.sh

If this error pops up,

docker_run.sh: line 15: xhost: command not found
docker_run.sh: line 15: xterm: command not found

add /usr/X11/bin (might vary) to your path

  1. Try quisp!

If all of the processing completed successfully, you should see

quisp:/root/quisp$

Open omnet with

quisp:/root/quisp$ omnetpp

Enjoy quisp!


Manual way

1. Install docker

You need a docker hub account to pull images. Register here.

For using docker, you need to install docker app from here or if you're using brew, you can install it with

$ brew install docker
$ brew install --cask docker

on your terminal. After you successfully installed Docker desktop app, open docker and sign in it with your docker hub account.

Assign more CPUs to docker

If you have a nice spec machine, you should assign more CPUs from

Docker > Preference > Resources

2. Install related tools

We need some other tools for using GUI version of quisp on docker. Download XQuartz from here.

$ brew install socat

These are nessesary for building GUI version of omnet. If you finish installing those tools successfully, reboot your mac and check $DISPLAY like,

$ echo $DISPLAY
>/private/tmp/com.apple.launchd.XXXXXXXX/org.macosforge.xquartz:0

If you can't see any values in $DISPLAY, uninstall XQuartz and install it again.(If you're using terminal attached to VScode or some other editor or IDEs, you may not be able to check it properly.)

3. Build docker container

Next, let's build the docker container on your Mac. (This might take a lot of time. Probably, about 15 min) !!!!!

$ git clone https://github.com/sfc-aqua/quisp.git
$ docker pull ghcr.io/sfc-aqua/quisp

Hopefully, you can build your docker container successfully.

3. Make connection between your host os to container via TCP

Open another terminal window and check your host ip address with,

$ ifconfig en0 | grep inet | awk '$1=="inet" {print $2}'

You can get an ip adress of your host machine. Open Xquartz with

$ open -a XQuartz

toolbar

In the top of display you can see "XQuartz" and open terminal.

xquartz then you can open your terminal.

Enter on the xterm (not your default terminal)

> xhost <your ip address>

<your ip address> is your host ip address you checked previously.

If you have trouble with using xhost, and see.

Finally, open your terminal again, and

$ socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\"&

4.Start your docker container

Open the file which has Dockerfile (in quisp)

$ sh quisp_docker.sh

You can run your container and in the container, run

> omnetpp

You can use omnetpp and quisp on docker container.

5.Set up your OMNET++

After the logo shows up, you will see the following tab. You can just press "Launch" button.

Setup

This is what the home screen looks like.

If you go to [File] → [Open Projects from File System...], you would see the following image.

You will go to the following image. Then, you have to put "/root/mdoels/quisp" as the "import source", and press "Select All" on the right side and the "Finish" on the bottom.

Now go back to the previous page. The page will now look like this. You will see the "networks" and "quisp" on the left side.

Then, you have to right click on the "quisp" and go to [Properties] (which is the VERY BOTTOM tab)

This is what the "Properties" page looks like. Next, you should click the "Makemake".

click "quisp" in the center list and click "Makemake" in "Build" area on right side (make it same as the screenshot below). and then press "Apply and Close" button.

Now press the green "Run" button on the top of the page and you will see the simulation screen (if you click "OK" or "Proceed" for the random pop-ups)

6.Run a Simulation

If you see the following image, you came to right place. You can press "OK" if any random pop-ups show up.

Click the "Set Up an Unconfigured Network".

You can choose what simulation you would like to perform.