DO NOT USE, DRAFT ONLY. STOP. - ## Question : Why is this happening? What exactly is happening? The dockershim (NOT the Docker runtime) has largely been unmaintained, along with being a source for bugs and security vulnerabilities. No other Container runtimes have their [Container Runtime Interface]() packaged with the Kubernetes node agent. For more information see the [Kubernetes Enhancement Proposal (KEP)](https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/1985-remove-dockershim) for deprecating the dockershim. ## Question : Can I still use Docker in K8s v1.20? Yes ## Question : Will I have to rebuild my Docker containers using some other tooling? No ## Question : What is the "dockershim"? Dockershim is a Docker engine compatible implementation of the [Container Runtime Interface (CRI)](https://kubernetes.io/blog/2016/12/container-runtime-interface-cri-in-kubernetes/) that was included in the Kuberneted node agent (kubelet). Till it's recent removal, it has been the _only_ CRI implementation to be included as a part of the upsteam Kubernetes codebase. Other container runtimes such as [containerd](https://containerd.io/), or [CRI-O](https://cri-o.io/) use the CRI in it's designed fashion - as an external plugin. ## Question : When is dockershim going away? Following the timeline in the dockershim removal KEP, Kubernetes 1.22 will be the **last** release that comes packaged with the dockershim. This will be roughly q3 2021. ## Question : Who does this affect in the future? Those who deploy and run Kubernetes clusters. Users should not see any difference but may see a deprecation log message from their Kubernetes cluster. Even when dockershim is removed you can still use Docker to build and run your images on your Desktop. If you are on a managed Kubernetes platform this won't affect you. ## Question : What workloads are affected? Those that assume docker to be present in the kubernetes node. See https://twitter.com/rothgar/status/1334195675895009281?s=20 ## Question: Why are you deprecating Docker anyway? Please read [Wait, Docker is deprecated in Kubernetes now? What do I do?](https://dev.to/inductor/wait-docker-is-deprecated-in-kubernetes-now-what-do-i-do-e4m) ## Question: What are alternatives? There are multiple alternatives, a few popular ones include: [containerd](https://containerd.io/) and [CRI-O](https://cri-o.io/). For further information, please see this blog post: [Wait, Docker is deprecated in Kubernetes now? What do I do?](https://dev.to/inductor/wait-docker-is-deprecated-in-kubernetes-now-what-do-i-do-e4m) ## Question: Where can I read about the community proposal? Kubernetes uses "Kubernetes Enhancement Proposals", or KEPs to track major work, you can follow the proposal for this change with comments and history here: - KEP #1985 - [Removing dockershim from kubelet](https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/1985-remove-dockershim) - Generally speaking you can follow [github.com/kubernetes/enhancements/](https://github.com/kubernetes/enhancements/) to track chages like this, if this change caught you by surprise it doesn't hurt to follow this repo for large changes and deprecations in upcoming versions. ## Question: People keep referencing "OCI", what does that mean? OCI stands for the [Open Container Inititative](https://opencontainers.org/about/overview/), which standardized the container runtime, image, and registry specifications that allow for swappable blah blah (help). ## References and other Notes Please check out the following community discussions for more information - Davanum Srinivas (@dims): [Deprecation thread](https://twitter.com/dims/status/1333767999493464071) - [containerd thread](https://twitter.com/dims/status/1334226510346072066?s=20) - Kat Cosgrove, (@Dixie3Flatline) : https://twitter.com/Dixie3Flatline/status/1334188913724850177 - Justin Garrison (@rothgar) thread : https://twitter.com/rothgar/status/1334195675895009281?s=20 - KEP #1985 - [Removing dockershim from kubelet](https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/1985-remove-dockershim) - KEP #2040 - [Kubelet CRI support](https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/2040-kubelet-cri)