the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of operating system–level virtualization on Linux. [Source: en.wikipedia.org]
container • Container is an instance of a Docker Image • Containers are resource controlled, and portable between operating environment • Container is an isolated place where an application can run without affecting the rest of the system and without the system affects the application
dependencies (packages, libraries) and could weigh 10-100’s MB, and in addition, it also include an entire host operating system - which may weigh 10’s of GB. Virtual Machines The Docker container comprises with just the application and its dependencies. It runs as an isolated process in the operating system’s user space, sharing the kernel with other containers. Thus, it enjoys the resource isolation and allocation benefits of VMs but with better portability and efficiency. Docker Containers Virtual Machines vs. Docker Containers
Docker images • DockerHub is the Official public repository for Docker ◦ But you can install your own, or use your cloud provider’s repository • Uses a GIT-like terminology - push & pull • Docker can share common layers between Docker images
- Consistent experience between Dev and Production - Cloud Agnostic & Multi Platform - Super-easy to scale - Perfect for Microservices architecture - Enhance operational and resource efficiency