Source: Fight icons created by smalllikeart – Flaticon
You’re no stranger to container images, Docker, and Kubernetes, and you may have heard it said in many places that Docker is dead? You can’t explain exactly where this statement comes from, or maybe you haven’t quite figured out the topic yet? Then this blog post will help you out.
In this blog post, I would like to briefly explain how the statement comes about, what background it has and what possible alternatives there are with my own impressions.
In particular, I will discuss the alternative Podman – which does not require a background service (daemon) – including its advantages and disadvantages compared to Docker. First, I will explain the OCI and then how Podman works in general. What Podman is not, however, and a list of its advantages over Docker will follow later.
To make a long story short: Container images – especially according to the OCI standard – are not dead and Docker also still has its application areas and accordingly will not die out quickly. This article is much more about the licensing changes of Docker – especially Docker Desktop – and what consequences they entail.
Why is Docker “dead”? The story behind Docker.
Beginnings of containers and Docker
Docker is an open-source software that primarily serves to isolate applications with the help of container virtualization. It does this by using Linux techniques such as cgroups and namespaces to implement containers, among other things. More detailed information on this can also be found in Docker’s official > documentation.
Docker was not, as often thought, the first approach in this direction. The isolation of applications via process isolation – in principle, containerization is this – goes far back into the past of computers. For example, the first approaches can be traced back to the chroot system call (syscall) of the late 1970s. This advance was the beginning of process isolation: separate file access for each process.
However, in March 2013, Docker Inc, initially known as dotCloud, managed to take containerization to a new level that made it usable to the general public by releasing Docker as free and open source software. Above all, the simple, understandable usability, high reliability and extreme added value of Docker containers led to the great success and revival of containerization in the world of IT in the following years.
Aquisition Mirantis
IThen, in November 2019, Mirantis acquired Docker Inc. along with the Docker suite. Shortly thereafter, Mirantis announced an adjustment to the existing licensing model. Thus, the standard use of Docker including Daemon, CLI and Docker Desktop was previously free of charge. Instead of free use of Docker Desktop until now, this software suite is now available for rent after the transition phase until the end of January 2022, starting at $5 per user/month, provided it is for professional use. Since then, only individuals, open-source communities and small businesses with up to 250 employees or $10 million in annual revenue are exempt.
In addition to this, a rate limit was created in the central Docker registry – the DockerHub– so that anonymous users can only download 100 images and authenticated free users can only download 200 images in a six-hour period.
These operations resulted in the departure of several major vendors and platforms, as they disagreed with the sudden change in licensing terms. With the use of Docker in popular platforms such as Kubernetes, this showed the danger of dependency to Docker Inc. If this company can continue to adjust their licensing model at will, this can result in major consequences for all companies and platforms that rely on Docker.
Exemplary of this followed the announcement by the Kubernetes project that Docker or dockershim will be discontinued as of version 1.24. RedHat also decided to do so with RHEL 8.Due to these decisions and also RedHat and Kubernetes moving away from Docker, there is an increasing portion of developers moving away from Docker and looking for alternatives. An interesting report on the declining use of Docker can be found here.
Docker Desktop
To understand the scope of it all, here’s an explanation of the Docker Desktop application.
Docker Desktop is a software suite for Mac, Windows and > now Linux that can be used to create containerized applications using Docker’s own tools. Here, Docker Desktop includes the Docker Engine, docker-cli, docker-compose and a credential helper, among others.
By adapting the licensing model, Docker Desktop may now only be used in its entirety by the exceptions described above, provided that licensing costs are to be avoided.
What is Podman?
In the scene, for many, Podman is following in the footsteps of Docker as free software. But what exactly Podman is and that it is not just a simple replacement is explained below.
Podman is an open source and free container management tool for developing, managing and running OCI containers.
OCI-Images und -Runtime
OCI stands for the > Open Container Initiative and was initiated by Docker Inc. in 2015. They describe two specifications: The Runtime Specification and the Image Specification.
Any software can implement the specifications an