Is Docker Still Worth Learning for IT Operations Teams? Probably Not
While Docker isn't dead, Docker tooling may be. Here's why learning Docker tools isn't as important as it once was, especially for ITOps teams.
If you work in IT operations, there was little doubt just a few years ago that it was worth learning Docker. As a key application deployment platform, Docker was central to the work performed by many ITOps teams.
But times have changed. It's no longer clear that there's a good reason for ITOps teams to invest their time learning Docker. Here's why.
What Is Docker?
Before discussing the merits of learning Docker as of 2023, let's first define what Docker means.
That's important because the term "Docker" is commonly used to refer to several interrelated but distinct things:
The container runtime that Docker created to run containers.
The complete Docker platform, which includes the runtime plus several additional tools, such as the Swarm orchestrator and the Docker command line interface.
Any platform where applications are deployed as containers, even if the platform doesn't use Docker's technology specifically.
As you can see, there's a fair amount of breadth when it comes to deciding what Docker even means. In the narrowest sense, Docker is just a container runtime; in the broadest, it's any containerized application platform.
Related: Liberty Mutual's Container Deployment — From Docker to Kubernetes
For the purposes of this article, I'm defining Docker in the narrow sense. My goal here is not to discuss whether ITOps teams should understand container technology and container platforms in general. They should, because platforms like Kubernetes remain absolutely central to modern application deployment strategies, whether or not Docker provides the underlying container hosting technology.
Instead, I want to discuss whether it's worth learning Docker's specific tooling. Do you need to know the Docker CLI today? Do you need to know how to use Swarm and Compose? Those are the questions worth asking today.
How Important Are Docker Tools in 2023?
In general, the Docker tools described above are not important to know these days, especially if you work in ITOps.
The main reason why is simple: If you run Docker containers today, in most cases you do it using technologies that mostly abstract the management layer from the underlying container. As a result, knowing how to use Docker's tools for creating, deploying, and managing containers is not very important.
To put this in context, consider what the typical process for launching a containerized app might have been five years ago, before Kubernetes became so widespread and when Docker reigned supreme as the go-to container deployment platform. Back then, you would have used the Docker CLI tool to create a container image. Then, you would have launched it with the same tool. If you had multiple containers to run, you might have managed them using Docker Compose or Swarm.
Related: 8 Essential IT Operations Tools for Today's IT Pro
Fast forward to the present, however, and the process for deploying a containerized app more likely boils down to building your app as a container image using your CI/CD tools, writing YAML code that defines a Pod in Kubernetes based on the image of your choosing, and then applying it with kubectl. Under this approach, you're using tooling that is native to Kubernetes, not Docker, to run your container (although you could still use the Docker runtime, since it's compatible with Kubernetes).
The only situation where I can envision it being important to understand Docker's native tools is if you're a developer who wants to test applications quickly using container images. In that case, being able to run containers with the Docker CLI tool would be useful because it's a faster way to deploy containers for testing purposes than running them in Kubernetes.
Is Docker Dead? No, but Docker Tooling Is Dead
If you follow conversations about Docker, you know that the question "Is Docker dead?" has been asked more than a few times on the internet.
The answer to that question depends, once again, on how you define Docker. As a runtime for executing containers, Docker is not dead. And as a conceptual approach to deploying applications, Docker — the platform that made containers massively popular, even though it did not invent the technology or idea — remains as alive as ever.
But as a container platform, or a set of tools for creating, deploying, and managing containers, Docker is pretty much dead. It's especially dead if you're looking from the perspective of IT operations, as opposed to software development. ITOps teams need to know Kubernetes, not Docker.
So, it's still worth learning Docker conceptually, and understanding how the Docker runtime works. But is it worth learning the rest of the Docker platform? Not any more than it's worth learning how to set up a landline phone. Docker as an idea remains important, but Docker as a container platform is pretty dead.
About the Author
You May Also Like