What is Docker? What are you using it for?
How containers are different from VMs?
The primary difference between containers and VMs is that containers allow you to virtualize
multiple workloads on the operating system while in the case of VMs the hardware is being virtualized to
run multiple machines each with its own OS.
In which scenarios would you use containers and in which you would prefer to use VMs?
You should choose VMs when:
* you need run an application which requires all the resources and functionalities of an OS
* you need full isolation and security
You should choose containers when:
* you need a lightweight solution
* Running multiple versions or instances of a single application
Explain Docker architecture
Describe in detail what happens when you run `docker run hello-world`?
Docker CLI passes your request to Docker daemon.
Docker daemon downloads the image from Docker Hub
Docker daemon creates a new container by using the image it downloaded
Docker daemon redirects output from container to Docker CLI which redirects it to the standard output
How do you run a container?
What `docker commit` does?. When will you use it?
How would you transfer data from one container into another?
What happens to data of the container when a container exists?
Explain what each of the following commands do:
* docker run
* docker rm
* docker ps
* docker pull
* docker build
* docker commit
How do you remove old, non running, containers?