Hands On Assignment 6
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 containers 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.
Same OS as host OS
Share data with host
Data remains when the VM / Container / Sandbox is closed
Additional OS overhead
Communication among the applications and host
Examples of applications