Harsh words. But also reality. As a company, we’ve seen Docker struggle with who they are and how to make money. Don’t get us wrong, containers are very much alive. But the role that Docker plays is shrinking.
- The role that Docker plays as a container platform is shrinking.
- Open-source initiatives such as CRI-O and Podman are gaining ground.
- As an organization you can always make the choice to opt for something other than Docker. OCI ensures that Docker is easily replaceable.
Containers is a very old idea and started somewhere in the 1970s but has grown in popularity in the last decade. With the emergence of loosely coupled architectures, and because DevOps strongly promotes working in autonomous teams, containers were the technical solution to support this well. It is highly portable and scalable. And Docker was really the only choice when this came up. After all, there wasn’t really another tool you could use, Docker was the standard. Docker has done very well from the start: great support for developers, it worked well in your software delivery lifecycle and Docker also continued to develop the tool. Since there was no reason to deviate from this, almost every organization adopted it immediately.
New open source initiatives
Initiatives such as CRI-O and Podman are gaining ground. Mainly because they are open source. Organizations such as Red Hat make Red Hat Enterprise Linux (hereinafter referred to as “RHEL”) where they basically only want open-source products on their environment. Many organizations support this. A few years ago, Red Hat stopped updating Docker. The organizations working with RHEL embraced initiatives like Buildah and Podman. These are tools that basically completely replace Docker, only open-source. What did this mean for Docker?
Docker missed the boat
Docker has underestimated the rise of open source initiatives. It seems that this has something to do with Docker thinking about how they could turn their own products into a business model. Think of Docker Enterprise for example; where you have to pay for certain extra services. The definition of containers is something that is openly defined (OCI) and any organization can and should use it. Some organizations have thought: if I can’t get certain services for free from Docker, I’ll build it myself, and better. So this is about the choice of using open source.
Docker also wants to connect to the open source community and actively contributes to it. And the focus will be more on Docker Hub. But you can still say that Docker has chosen to focus on its own intellectual property and make organizations pay for it. Docker was synonymous with containers, but lately it has become more difficult to innovate and keep up with the next steps within container initiatives.
Impact on People, Processes and Technology
Working with containers is the same everywhere
The Open Container Initiative (OCI) has established how to define and use containers. The funny thing is that whether you use Docker or not, it basically doesn’t affect your internal processes. As an organization, you can always choose to opt for something other than Docker,
because all containers can be transferred 1 to 1. Take this example: in your Docker files you can see what your container looks like, you can give this to Buildah who then makes an image of it that you can run on Podman.
Container growth is paralleling the development of more distributed infrastructure and software. And whether you use Docker for it or something else, this development is not going away. Tools like Kubernetes are moving towards a control plane for all your workloads: I want to be able to see what’s happening in one place. Could this perhaps be an area where Docker can rediscover itself?
Containers are here to stay. That is why your organization should continue to innovate. Continue to rediscover yourself as an organization and continue to develop. Open source helps tremendously with that, it is a better way to innovate than closed source. Docker has definitely contributed to the popularity of using containers. If you’ve been working with containers for a long time, Docker has become part of your life. But we now also see that the “Docker” era is coming to an end and that’s a shame.