Computer Systems Architecture


 

Instructions

Install Docker on a Linux VM. You don’t want to install it on your computer, because it will interfere with other functions on that computer. Open a Linux VM, set the network configuration to be NAT. Download and install Docker inside the Linux VM as an admin. The remaining exercises are to be performed inside the Linux VM. Open a terminal inside the Linux VM. The following exercises won’t run on Windows VM.

A few useful Docker sites: https://docker-curriculum.com/

(Q1): From the terminal, type in the following commands and take snapshots after running each command.

To validate the installation is correct, type

$ docker run hello-world 

(Q2): Run a Busybox container. The pull command fetches the busybox image from the Docker registry and saves it to the VM. 

$ docker pull busybox

(Q3): Find available docker images in your VM. 

$ docker images

Check that busybox container is  

(Q4): Run the Docker container busybox.  When you run the Docker image bosybox, Docker loads up the container and then runs a command in the container. When we run “docker run busybox”, there is no command, so Docker did nothing and exited.

$ docker run busybox 

$

If you provide a command after “docker run busybox”, that command will be executed

$ docker run busybox echo “hello world from Carlston”

Replace ‘Carlston’ with your name. That way I knew that you are running Docker by yourself. Take a snapshot.   

(Q5): Run the following command to check what containers are currently running. 

$ docker ps  

It should be no docker running. 

Run the following command to see a list of all comtainers that we ran. Notice the STATUS column shows that these containers exited a few minutes ago. Take a snapshot. 

$ docker ps –a  

Run the following local host command to see the difference with and without Docker. 

$ ps -a 

(Q6): Compare a Virtual Machine (VM), a Container, and a Sandbox based on the features shown in the following table.  

Features\Types 

VM 

Container 

Sandbox 

Same OS as host OS 

Share data with host 

Data remains when the VM / Container / Sandbox is closed 

Additional OS overhead 

Performance 

Storage space 

Communication among the applications and host 

Security level 

Examples of applications 

Advantages 

Disadvantages