Hacker News new | ask | show | jobs
by boloust 1418 days ago
Saying "Kubernetes has removed support for Docker" is incredibly misleading at best, and less charitably, is just plainly wrong.

While it's true that 1.24 does not support docker as the specific container runtime that's directly used by Kubernetes itself, this has approximately zero impact on how the vast majority of beginners would use Kubernetes, as out of the box you're still able to run docker containers.

Probably not the kind of confusing detail that needs to be in an intro to Kubernetes article.

2 comments

> as out of the box you're still able to run docker containers.

No, you're able to run containers from images produced by docker provided it exports them in OCI format. At no point does k8s see anything to do with docker. Saying docker when you mean container or container image is incredibly misleading at best, and less charitably, is just plainly wrong.

Edit: Actually, it looks like if you want to add docker it's easy - https://kubernetes.io/docs/setup/production-environment/cont... - but you would have to install that support since it is not included out of the box.

It seems like your view is informed from a cursory reading of the docs, rather than any first-hand experience.

Docker produces OCI images, there's no need to "export them" in that format.

So since Kubernetes can run any OCI image, and Docker images are OCI, Kubernetes supports running Docker images out of the box.

The documentation you linked to is if you wanted to swap out the container runtime Kubernetes is using, not if you just want to run a Docker image.

> It seems like your view is informed from a cursory reading of the docs, rather than any first-hand experience.

Fun though personal attacks are, you would be wrong; I have done all of this, including using docker to build images and k8s to run them.

> Docker produces OCI images, there's no need to "export them" in that format.

Sure.

> So since Kubernetes can run any OCI image, and Docker images are OCI, Kubernetes supports running Docker images out of the box.

...Kubernetes supports running OCI images out of the box. That they were built by docker does not make them docker images, any more than building a Windows program with MinGW creates a "Linux program" just because it was compiled on Linux. If you use docker to build an OCI image and then create a container from that image in a stock k8s cluster, you are not creating a docker container, you are creating a (most likely) containerd container from an OCI image.

> The documentation you linked to is if you wanted to swap out the container runtime Kubernetes is using, not if you just want to run a Docker image.

Yes, I was attempting to charitably include the case where your claim could still be correct. (Since by adding the docker runtime you can create a k8s cluster that creates docker containers.)

For what it’s worth, the subthread you are commenting on specifically talks about GKE. GKE is removing docker support, period. That’s not plainly wrong, it’s in their support document.

For most users, using docker through a CRI compatibility layer is not an option as they use some sort of Managed Kubernetes, and I am curious to hear which of those keeps supporting docker as container runtime.