Understanding Docker

Docker’s documentation describes it as:

Orchestration With Kubernetes

Even though people often mention Docker and Kubernetes in the same sentence, they fulfill different purposes. Kubernetes is an orchestration platform. It’s a way of managing and running containerized workloads, born from the Borg project at Google.

A Productive Synergy

Docker and Kubernetes work well together. With Docker, you package your applications so that they’re easy to share and run in any environment. Meanwhile, Kubernetes takes these images and runs them for you, hiding the grisly details.

  • Package the application as a container as part of a CI/CD
  • Publish the image to a Docker registry.
  • Deploy the image to a testing environment using a tool like ArgoCD.
  • When you confirm that everything works, deploy that same image to production.

It’s Not So Clear-Cut

Thus far, this looks neatly delimited. Reality is a bit messier, though. For starters, Kubernetes used to run dockerd as a container runtime in the individual nodes of the cluster. The runtime has switched, but the idea behind it is the same.

Toward Cloud-Native Applications

Unless you’re going for a serverless architecture, using both Docker and Kubernetes is a solid bet to bring your applications to production. Building containers simplifies the process of packaging and running them in different environments, and Kubernetes is a way of orchestrating those applications.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Cprime

Cprime

An Alten Company, Cprime is a global consulting firm helping transforming businesses get in sync.