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)