Docker, Inc. Makes Transition to CRI Transparent for Developers

Docker Inc. has made an update to its Docker Desktop tool which replaces dockershim with cri-dockerd for version 1.24 of Kubernetes.

Dave Scott, a staff software engineer at Docker, Inc. says that as far as developers are concerned, the shift from one runtime to another should be invisible when building an application using the version of Kubernetes that Docker, Inc. provides access to within Docker Desktop 4.7. Container images that previously used dockershim to run on Kubernetes will run unchanged on Kubernetes 1.24 without it, he adds.

Scott also notes that, provided the Docker engine is still installed on the Kubernetes worker node, the Docker socket can be bind-mounted as before. It’s not necessary for the remote Kubernetes cluster to use the Docker runtime.

Earlier versions of Kubernetes created containers directly using the Docker application programming interface using a mechanism known as a dockershim to bridge Kubernetes internal APIs and the Docker API. Subsequently, the Kubernetes community developed a more elegant interface dubbed the container runtime interface (CRI). With the releases of Kubernetes 1.24, support for the Dockershim interface has been deprecated. That creates a challenge for IT teams that are running clusters that support applications that call the dockershim interface alongside applications that call CRI.

As the number of Kubernetes clusters organizations deploy continues to increase, many IT teams are finding themselves managing multiple distributions of Kubernetes that are based on a range of versions of Kubernetes that have not always been consistently upgraded. Many IT teams are hesitant to upgrade a Kubernetes cluster for fear the application running on that cluster might not be fully compatible with a later version of Kubernetes. Docker, Inc., working in collaboration with Mirantis, has made available an open source edition of dockershim that will continue to be maintained.

While that issue concerns IT operations teams, Scott said it’s an internal detail that does not impact developers. Docker Desktop manages all the complexity of running containers and Kubernetes, he says.

It may be still a while before most organizations are running version 1.24 or higher of Kubernetes, so dockershim, in one form or another, may be around for a while. Over time, however, CRI will be where the bulk of future innovations occurs. In the meantime, the rate at which containerized applications are being developed continues to accelerate. Docker, Inc. now estimates there are now more than 10 million registered developers and development teams. The company also now has more than 56,000 commercial customers, including over 70% of the Fortune 100, nine of the top 10 technology companies, eight of the top 10 banks, eight of the top 10 retailers, eight of the top 10 media companies and seven of the top 10 health care companies.

The challenge, soon, will be determining the best way to maintain all those applications within production environments made up of fleets of Kubernetes clusters.

Mike Vizard

Mike Vizard is a seasoned IT journalist with over 25 years of experience. He also contributed to IT Business Edge, Channel Insider, Baseline and a variety of other IT titles. Previously, Vizard was the editorial director for Ziff-Davis Enterprise as well as Editor-in-Chief for CRN and InfoWorld.

Mike Vizard has 1620 posts and counting. See all posts by Mike Vizard