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 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.
FeaturesTypes
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