For those that don't necessarily want to pay for Docker and primarily want to host/build/use container images, going for self-hosted Nexus can be a more cost effective solution, as I did for my own needs: <a href="https://blog.kronis.dev/tutorials/moving-from-gitlab-registry-to-sonatype-nexus" rel="nofollow">https://blog.kronis.dev/tutorials/moving-from-gitlab-registr...</a> (albeit in my case I migrated over from GitLab Registry and now having a proxy registry as well is just an added boon)<p>At this point, even not signing into Docker Hub is perfectly passable, because none of my CI servers ever hit the rate limits, since Nexus can act as a caching proxy, or I can just put my own images in it. It surprises me that this isn't the de-facto way of doing things, since currently it seems like Docker Hub has to deal with a needlessly large amount of network traffic and also countless dead/abandoned images stored in it (and thus, wasted $$$).<p>I also use a pretty simple setup of Gitea and Drone CI for building my images from a Git repo, which works rather nicely, but perhaps that's besides the point (though you can read more about it on my blog). Of course, I won't say that building most/all of your own container images is necessarily something that you should always do.<p>That said, personally, I decided to focus on Ubuntu as a common base image for my own needs and install software that I need (Node, Python, JDK, .NET, Ruby and so on) inside of it through apt, as well as install updates during build time. This lead to my own container images with common tools across the board, common shared layers (e.g. fewer layers to pull if a similar image is already on the server/locally), albeit with fewer space optimizations and some caveats, about which you can read in another article of mine: <a href="https://blog.kronis.dev/articles/using-ubuntu-as-the-base-for-all-of-my-containers" rel="nofollow">https://blog.kronis.dev/articles/using-ubuntu-as-the-base-fo...</a><p>Overall, it's been a pretty reasonable experience, though I also understand why folks whose time is 10x more valuable than mine might prefer to throw money at someone, or go for images that have a bit more vendor dark magic in them (e.g. installing JDK through apt vs doing so in alternative ways that save on space).<p>As for Docker Desktop, if you want something like it, Rancher Desktop aims to be a passable alternative, though with a slightly different focus: <a href="https://rancherdesktop.io/" rel="nofollow">https://rancherdesktop.io/</a><p>Personally, I don't think that they'll <i>quite</i> succeed anytime soon, because they have a long road ahead of them, much like Podman did (and still has, for some workloads), but it's definitely a promising alternative, given what else the corporation behind it has been capable of (Rancher, RKE and K3s come to mind).