Containerization and Container Orchestration Using the Example of Docker and Kubernetes

If you want to finally understand what Docker and Kubernetes are, this post is for you.

Instead of presenting you with a boring and technical article, I’m going to show you a selection of videos that should make this topic very clear.


Before we begin, here’s a very brief introduction to give you a heads-up. Maybe you’re on macOS, but there’s this one application that’s available only for Windows. Maybe you’re on Windows because you’re a gamer, but you also do some coding and use a Linux computer for that. In both cases, you’re probably already familiar with the concept of virtual machines. You can use hypervisor applications such as Parallels Desktop or VMware Fusion to run a different operating system on your computer.
But virtual machines are pretty heavy. They are also very bloated because you have to install an entire operating system, even if all you want is to run just one single application. That’s overkill. Imagine you’re an app developer and you want to test your app in eight different settings. With virtual machines, you’d have to install eight entire operating systems on top of your computer’s own operating system. As you can imagine, it takes a huge amount of RAM and HDD space to simultaneously run eight virtual machines. What’s more, your application constitutes only a tiny fraction of each virtual machine, so you could say that, for the largest part of any of those virtual machines, there’s no need to occupy resources … nevertheless you have to allocate it. Wouldn’t it be better and much more efficient if you could separate only the application itself? If you could put just the application into an isolated environment instead of the entire operating system? Here’s where containers come into play.

Docker and Kubernetes Explained

Docker is the most well-known container runtime, but what is a container anyway? How is a container different from a virtual machine?

How is a container different from an image? And what’s a Dockerfile?

Now that we understand what containers are and what Docker does, let’s move on to Kubernetes. Kubernetes is an orchestration platform to run and manage container-based workloads. But what is container orchestration?

How does Kubernetes work?

Let’s take a closer look at Kubernetes.

To finish it off—when do you use Docker and when do you use Kubernetes? Spoiler: when just a few containers are enough, Docker alone is sufficient. But if you want to run hundreds or thousands of Docker containers, Docker alone won’t suffice anymore. You will need help in the form of Kubernetes.

Final Words

Do you like the format of this post or is it too video-centric? Please let me know in the comment box down below or contact me on Twitter. You might also be interested in how I used Docker to install the media server Plex on my Synology NAS. Thanks for reading, and take care.

As an Amazon Associate I earn from qualifying purchases.
Built with Hugo
Theme Stack designed by Jimmy