It was only a few days ago in the forthcoming Kubernetes 1.20 release notes[1], Kubernetes[2], everyone's favorite container orchestrator, that Kubernetes developers announced: "Docker support in the kubelet is now deprecated[3] and will be removed in a future release." Old-school Docker developers were not happy. But, at a closer look, dockershim removal from Kubernetes really wasn't that bad[4]. But now Mirantis, which owns Docker Enterprise Platform[5], along with Docker[6], will continue to support dockershim[7] as a Kubernetes[8]-compatible Container Runtime Interface (CRI)[9] for Docker Engine.
What does all that mean for programmers? Adam Parco, Mirantis[10]'s VP of engineering, explained: "For Mirantis customers, that means that Docker Engine'[11]s commercially supported version, Mirantis Container Runtime (MCR)[12], will be CRI compliant."
But don't worry if you're not a Mirantis customer and you don't want to switch to a more modern CRI such as the runc[13]-based containerd[14] and CRI-O[15]. Mirantis and Docker, starting with Davanum Srinivas's open-source cri-dockerd project[16], will continue to make it available as an open-source project, Mirantis cri-dockerd[17]. This means that you can continue to build Kubernetes based on the Docker Engine just like always. You'll just need to switch from Kubernetes's built-in dockershim to the external one.
It should be as easy as one minor code change in your Docker-based containers on Kubernetes. Parco explained, "We will work together on making sure it continues to work as well as before and that it passes all the conformance tests and continues to work just like the built-in version did. Mirantis will be