---
title: "Exercises L9"
author: Jonathan, Adam and Martin
geometry: margin=1cm
output: pdf_document
---
# Let’s investigate Docker Hub. Try to find containers providing functionality for:
a) Network monitoring. = bitnami/prometheus
b) Network visualization = skydive/skydive
c) Routing = rancher/ingress-controller
d) Load Balancing = traefik
e) Web hosting = traefik
f) Database = mongo
g) Media Streaming = bitnami/kafka
h) LTE’s eNB = snslab/srsenb
i) LTE’s EPC = openverso/open5gs
j) SDN Controller = sdnvortex/network-controller
k) Docker registry = registry
# Is all this free? Explain different options that you may encounter.
- Dockerhub is not free to use if you are using it for storing images.
- The applications are all free to download, but not necessary open source.
- If open source should survive its developers need food, so someone is paying them to keep developing, this can happen in many ways.
# Is there any risk? Is it OK to run any container from a register? What about from DockerHub?
There is a risk yes - anyone can upload docker images, and they could possibly contain virus and bitcoin miners.
# Compare Virtual Machines and Containers. Are VMs completely out-phased by containers or each has its own area of applicability? If so, when would you use then VMs and not containers? Explain
- A VM is a good choice for emulating whole platforms (like a server or network) with multiple resources in contrast to containers who which should only contains a single application and files.
- VM's are good for legacy monolith applications and can run far more operations than a single container.
- VM's are the only way to run a different OS on top of another. (eg. Windows on Linux)
- VM's are, by default, more secure than a container because it inherently has a strong seperation from the host kernel.
- In the case of wanting to provide a desktop environment for your users, VM's are ideal. This can be done in docker but is not very good.