Containers: Containers represent operating system level virtualizations which help you run multiple isolated systems i.e. containers in same machine.
Docker: Docker is a containerization engine which means that it lets you create containers to achieve operating system level virtualization. Docker allows you to automate the containerization process.
We can store Docker images in a Docker repository and share Docker images within your company or with the outside world, depending on how you set up the repository or if the image is shareable outside the company.
Virtualization vs Containerization
Virtualization –
It represents hardware level virtualization
It is Heavyweight compared to containers
Slow provisioning compared to containers
More secure since it is fully isolated
More overhead than containers
Containerization –
It represents operating system virtualization
Lightweight compared to Virtual Machine
Faster provisioning and scaleability
Fast like Native performance
Less secure since it’s a Process level isolation
The most common Docker solutions include Docker Engine, Docker Hub or Docker repository.
Docker Engine – The core component which is responsible for running Docker Containers.
Docker Hub – The Docker repository. Holds Docker container images which are available to the public. You can find the Docker Hub here.