DEV Community

Discussion on: How do containers work when you're using both Docker and Kubernetes?

Collapse
 
dmfay profile image
Dian Fay

Docker runs containers. Kubernetes orchestrates containers. Orchestration is how you stitch multiple containers together into a greater whole: for example, you can have several application containers (and scale out to add more application containers at runtime) talking to a database container. It's possible to do this with Docker alone, but prohibitively complicated at the low level of individual containers. The language of "pods", "services", "deployments", and so on that Kubernetes employs lets you operate at the level of multiple interacting containers instead.

Collapse
 
ghost profile image
Ghost

Thanks for the reply! That really clears up everything - I thought that Kubernetes runed containers like Docker!

You are

Collapse
 
dmfay profile image
Dian Fay

To add:

You could manage a small cluster of Docker containers on one host machine with a good memory and some facility with Bash. Where orchestration really comes into its own is when you need to scale across multiple hosts.

There are other technologies that do overlap with Kubernetes, notably the combination of Docker Swarm + Docker Compose. Kubernetes has support for more complex workflows with stuff like jobs which run once and exit, while Compose is purely about describing what your cluster looks like and then making that happen.