Docker is the way to ship your application files in a binary package called image.
The image is used by a container.
A container has a process and is being instantiated by container orchestrators.
Kubernetes, Mesos, Rkt, Docker Engine are all container orchestrator engines.
Kubernetes engine does a lot of things for distributed, large scale deployment with containers. It can be deployed by anyone anywhere. Why? because it's open-sourced. It requires virtual machines to set up its own infrastructure. A most common architecture is a single master server and two worker nodes.
Some of the vendors that provide Kubernetes service are:
- Google provides GKS.
- AWS provides EKS.
- Azure provides AKS.
- Digital Ocean Kubernetes
You and your company can have your own on-premise Kubernetes cluster and manage it by yourself.