Setting up the container environment is hard and complex as they are very low level. Here, Docker offers a high level tool with powerful functions and making it easy for end user to create a container. Solves - Compatibility issue, Easy to use
So the question is what is a container?
Containers are completely isolated environment. Think of them as a Virtual Machine except they all share same OS kernel.Key thing to remember here is Docker is not meant to run different OS on top of same hardware like Hypervisor in VM.
Docker only cares about the underlying Kernel. In case of Linux, it dosen't matter what distribution (RHEL, Ubuntu, Suse etc) you are running - Docker only care about the Linux kernel.
As you can see below in the image. Docker can manage container with Library and Dependencies alone while in case of Hypervisor each virtual machine has it's own Operating System inside it. This is an overhead and due to multiple OS and Kernels it's not efficient and have higher utilization. Consumes higher disk spaces as compared to docker container which also results in quicker boot times for dockerized environment.
With Hypervisor - Higher Utilization of resources, Consumes more space and takes longer to boot up.
Well Docker Image is a package/template/plan to create one or more container and containers are running instances of the images. Lot of products are already dockerized but if you cannot find one for your app - you can create your own image too.
Install Community Edition and create an account on docker hub.
Docker Hub: https://hub.docker.com/
Docker installation is pretty straight forward and well documented. Please use the link below to access installation documentation:
Docker & Forensics
Here is the link: https://hub.docker.com/r/gourav5660/sans_sift_forensics