Docker provides operating-system-level virtualization also known as containerization. It is an open platform for developers and sysadmins to build, ship, and run distributed applications. Docker enables apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments. As a result, IT can ship faster and run the same app, unchanged, on laptops, data center VMs, and any cloud.
- Docker Engine is the program which creates and runs the Docker container from the Docker image file.
- Docker Container is a live running instance of a Docker image.
- Docker image is a file you have created to run a specific service or program in a particular OS. Docker Images are not OS agnostic; you cannot run a docker container in windows from a linux docker image.
- Docker Hub is a repository to store and distribute docker images.
- Docker Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Both Kubernetes & Docker Compose are frameworks for container orchestration. Docker Compose deploys multi-container Docker apps to a single server, while Kubernetes (K8S) is a distributed container orchestration tool. Docker compose is a powerfule tool for local development.
- Docker Swarm is a container orchestration tool running the Docker application. Discontinued now