Sometimes you genuinely want Docker Engine as the Kubernetes node runtime — a team standardized on the Docker CLI/API for tooling, an image-build box that doubles as a node, or a legacy playbook you can't rewrite yet. Since dockershim was removed in Kubernetes 1.24, that path now runs through cri-dockerd, an open-source CRI adapter maintained by Mirantis. Here's how to set it up on Ubuntu, and an honest note on whether you should.

Should you? A quick reality check

For most people the answer is no — use containerd (see the previous post). Reach for cri-dockerd only when you have a concrete reason:

Existing automation that talks to the Docker socket on the node.

You want docker build and the kubelet on the same host sharing one image store.