At work we get around this by not having docker or anything similar set up in the first place.
I’m getting tired of it lol
you didn’t need anything like docker with web 1.0; you just needed cuteftp and a text editor.
Surely you mean WS_FTP LE.
Me, still using winscp for random nonsense.
the enshittification begins…
Begins?!? Docker Inc was waist deep in enshittification the moment they started rate limiting docker hub, which was nearly 3 or 4 years ago.
This is just another step towards the deep end. Companies that could easily move away from docker hub, did so years ago. The companies that remain struggle to leave and will continue to pay.
When that happened our DevOps teams migrated all our prod k8’s to podman, with zero issues. Docker who?
Your choice of container runtime has zero impact on the rate-limits of Docker Hub. They probably had a container image proxy already and just switched because Docker is a security nightmare and needlessly heavy.
Why would anybody use podman for k8s…containerd is the default for years.
Maybe you can run containerd with podman… I haven’t checked. I just run k3s myself.
Yeah, but you don’t need anything besides the runtime with kubernetes. Podman is completely unnecessary since kubelet does the container orchestration based on Kubernetes control plane. Running podman is like running docker, unnecessary attack surface for an API that is not used by anybody (in Kubernetes).
I run k0s at home, FWIW, tried k3s too :)
Yeah I know.
Interesting that you run k0s, hadn’t heard about it. Would you mind giving a quick review and compare it to k3s, pros and cons?
I can’t really make an exhaustive comparison. I think k3s was a little too opinionated for my taste, with lots of rancher logic in it (paths, ingress, etc.). K0s was a little more “bare”, and I had some trouble in the past with k3s with upgrading (encountered some error), while with k0s so far (about 2 years) I never had issues. k0s also has some ansible role that eases operations, I don’t know if now also k3s does. Either way, they are quite similar overall so if one is working for you, rest assured you are not missing out.
Anyone looking for a free drop in replacement, I’ve been using Rancher Desktop without any issues https://rancherdesktop.io/
How does the image scanning compare to docker scout? (Or whatever the docket desktop one is called).
I use this as well. I haven’t had any issues.
I’ve been using podman desktop (https://podman-desktop.io/) which is also free. I’ve never heard of rancher desktop so I’ll have to give that a look!
Rancher is owned by Suse, which is mainly a solid steward in the community.
They also have k8 frontend called Harvestor. It can run VMs directly, which is nice.
Well, there is this one thing: they asked OpenSuse to drop the Suse branding…
Which is fair. Fedora never called itself red hat. CentOS never called itself red hat.
Suse is a pretty good company and deserves the right to their intellectual property and trademarks. OpenSuse shouldn’t make a big deal out of simply changing their name.
They could rename themselves to OpenSusame and keep rolling without any issues whatsoever.
Of course, but I still think it is not very smart from SUSE, since I bet many companies got into SUSE because coworkers had very good experiences with OpenSUSE.
I, at least, if my company would need corporate Linux, would recommend SUSE to my company because of that reason.
I second Podman. I’ve been using it recently and find it to be pretty good!
I am getting into Podman but I cannot force my firewall to respect it for some reason.
So does this setup like a one-node kubernetes cluster on your local machine or something? I didn’t know that was possible.
Basically yes. Rancher Desktop sets up K3s in a VM and gives you a
kubectl
,docker
and a few other binaries preconfigured to talk to that VM. K3s is just a lightweight all-in-one Kubernetes distro that’s relatively easy to set up (of course, you still have to learn Kubernetes so it’s not really easy, just skips the cluster setup).Thanks for the info. For others curious, here’s a decent short intro to K3s.
Now I’m kind of wondering if this is light enough for integration tests.
For integration tests I’d go with kind instead. Use it in my work and it works perfectly in our ci/CD. https://kind.sigs.k8s.io/
Oh shit, what would I do without… Scout Analysis?
Recover several hundred GB of disk space, if my team’s experience was any indication.
Don’t you mean SWOT analysis?
You SWOT m8?
I’m sure “professionals” can afford $4
Our 200 developers all switched from docker desktop to rancher after Docker tried to jack up the price about a year and a half ago, along with a bunch of legal threats. Their attitude was so piss poor, we went from debating paying the higher fees to just fucking them off entirely.
I will pay $4 per user to NOT use Docker.
Hmm, I might have to do that at work. We pay for Docker, but we don’t actually use any of the features from Docker, the service. We build our images locally, and production pulls from AWS ECR, yet we all have Docker Hub licenses because my boss felt like we should be paying for it.
Docker works fine, but honestly, we don’t need it, and I have been considering eliminating Docker on my self-hosted stuff.
I love docker images, hate docker Inc.
Podman guys… Podman All the way…
We’ve completely transitioned from podman to docker where I work. The only pain point was podman compose being immature compared to docker compose, but turns out you can run docker compose with podman using the podman socket easily.
I gave podman compose a fresh try just the other day and was happy to see that it “just worked”.
I’m personally pissed about aardvark-dns, which provides DNS for podman. The version that is still in Debian Stable sets a TTL of 24h on A record responses. This caused my entire service network to be disrupted whenever a pod restarted. The default behavior for similar resolvers is to set a TTL of 0. It’s like people who maintain it take it as an opportunity to rewrite existing solutions in Rust and implement all the bugs they can. Sometimes feels like someone just thought it would be a fun summer break project to implement DNS or network security.
I think you wrote it back ways: transitioned from docker to podman?
Yeah podman should use quadlets, not compose, but still works just fine with docker compose and the podman socket!
I don’t think you even need Docker licenses to run Linux containers, but unfortunately I need to deal with this because I have some legacy software running in windows containers.
That’s not the point. Maybe you can, but for how long? you will never stop asking the question with docker…
Is this the program that open source people use to install all the random depencies that their program needs to work? The one that people tell me to use when I complain about git bash pico sudo pytorch Install commands?
Or did another company copy their name?
I mean, they’re one implementor of about 10 that provide the same container standard. It sucks that they were first so their name is now synonymous with containers a la Kleenex, but the technology itself is standard, very open and ubiquitous, and a huge step forward in simplifying deployments that would otherwise be too complex to reasonably handle.
To be fair, I used LXC before Docker, so I’ve always called them “containers.” But I guess I’m old or something.
Nope. Docker doesn’t do that. That’s something else.
But it does in a lot of cases. At work, we use Docker images to bundle our dependencies for each microservice, and at home, I use Docker images for the same reason on my self-hosted repos. It’s fantastic for running servers in a sandbox so you don’t have to worry about what dependencies the host has.
But perhaps OP is talking about flatpaks instead.
Not having to install dependencies is a benefit of containers and their images. That’s a pretty big thing to miss. Maybe give it a closer look.
Oh. This is /technology. I thought pants were about to go way up in price for a second.
Glad I’m not the only one
Are You guys really pulling more than 40 images per hour? Isn’t the free one enough?
A single malfunctioning service that restarts in a loop can exhaust the limit near instantly. And now you can’t bring up any of your services, because you’re blocked.
I’ve been there plenty of times. If you have to rely on docker.io, you better pay up. Running your own NexusRM or Harbor to proxy it can drastically improve your situation though.
Docker is a pile of shit. Steer clear entirely of any of their offerings if possible.
I use docker at home and at work, nexus at work too. I really don’t understand… even a malfunctioning service should not pull the image over and over, there should be a cache… It could be some fringe case, but I have never experienced it.
Ultimately, it doesn’t matter what caused you to be blocked from Docker Hub due to rate-limiting. When you’re in that scenario, it’s most cost efficient to buy your way out.
If you can’t even imagine what would lead up to such a situation, congratulations, because it really sucks.
Yes, there should be a cache. But sometimes people force pull images on service start, to ensure they get the latest “latest” tag. Every tag floats, not just “latest”. Lots of people don’t pin digests in their OCI references. This almost implies wanting to refresh cached tags regularly. Especially when you start critical services, you might pull their tag in case it drifted.
Consider you have multiple hosts in your home lab, all running a good couple services, you roll out that new container runtime upgrade to your network, it resets all caches and restarts all services. Some pulls fail. Some of them are for DNS and other critical services. Suddenly your entire network is down, and you can’t even get on the Internet, because your pihole doesn’t start. You can’t recover, because you’re rate-limited.
I’ve been there a couple of times until I worked on better resilience, but relying on docker.io is still a problem in general. I did pay them for quite some time.
This is only one scenario where their service bit me. As a developer, it gets even more unpleasant, and I’m not talking commercial.
Even at work we don’t pull that many, and we have dozens of developers.
Also its 40 per hour per user
We just build from scratch and pull nothing
On Lemmy, it’s a sin to make money off your work, especially if it is opensource core projects providing paid infrastructure/support. You can only ask for donations and/or quit. No in-between.
One of the previous places I worked at had about a dozen outbound IP addresses (company VPN).
We also had 10k developers who all used docker.
We exhausted the rate limit constantly. They paid for an unlimited account and we just would queue an automation that would pull the image and mirror it into the local artifact repo
A enterprise company that has 10k developers should just invest in their own image hub. It’s not really that hard to do. Docker even open-sourced it under Apache2.0.
I thought docker was FOSS? What exactly are they charging you for?
Ability to pull more images from Docker Hub.
Are you sure about that? I dunno if that’s correct.
Yes, in the sense that if you are a free user or unauthenticated and pull too often (including checking if a tag exists) you will get rate limited and have to wait or pay.
Can confirm. Spent a bunch of time a few weeks ago setting up ECR pull through cache in AWS to alleviate this very issue.
Support. If your a business, you pay to keep uptime high. This is unnecessary for most people.
If you’re a business and need uptime you shouldn’t be using Docker Desktop in the first place
You would be amazed
Not amazed, just depressed.
Docker Engine (which is the core of what people think of as “Docker”) is FOSS. Docker Desktop (which most people rely on for local development) is free for individuals but I believe the license says companies over a certain size are required to pay.
And on top of that the paid plans also come with support, which large businesses frequently require, and private repositories on docker’s image repository.
Glad I run everything in a VM. If you want my money you can accept donations, and sell support contracts.
The moment you hide features or code behind a paywall or proprietary license, is the moment you no longer get my fucking money.
Granted random weirdos who donate to FLOSS projects probably weren’t paying dockers bill anywho.
I am baffled as to why people want a GUI for Docker, of all things
I think docker desktop’s bigger value prop is that it’s a well supported zero-effort setup of a VM to run the docker daemon on platforms that don’t support it natively (i.e. MacOS which a lot of programmers use). And it very cleanly handles mounting your local filesystem into containers running in the VM, which is important for dev envs and used to be a source of friction with alternatives (although it seems like the competition has caught up and this also now works out of the box with rancher desktop and others?). Having a GUI is somewhere behind those, though I know folks who have a weird preference for GUIs 🤷♀️.
I’m just a guy who uses Linux and spends most of his time in a terminal, so I’m not saying I value docker desktop, and I personally don’t have to deal with any of this so I’m probably behind on how good the alternatives are. Just saying where I see other people get use out of it.
They use Windows
We use it, and I honestly don’t see much value. I use 90% CLI, but occasionally it’s nice. I use macOS at work, so it’s nice to be able to see how much space the VM is using. Also, searching through logs is a little nicer through the GUI than the CLI.
I actively avoid the GUI at home because, even on Linux, it’ll spin up a VM to host your containers, whereas if you stick with the CLI, there’s no VM, which solves soooo many headaches.
This is the correct response.
At my job we’ve been asked to remove Docker desktop unless it is absolutely necessary for a client project.
I’ve just been using Docker through command line via WSL and that’s good enough for me.
I don’t see any use for Docker Desktop, you can see the running containers in a gui instead of just typing docker ps in a terminal, damn what a fucking awesome and needed thing, it’s gonna totally come in handy when I do deployments through the terminal and I didn’t learn the commands
Especially when your ide/editor has a plug-in that does the sane thing than docker desktop anyways
I’m in the process of learning docker, can you share what that is? That sounds very helpful.
In VSCodium you have the docker plugin. It pretty much offers the same capabilities as the Docker desktop (view containers, images, etc. Allow to connect to the containers, to see their files, etc).
That’s awesome, thanks! I use VSCodium too, will search it up the plugin later. That’ll be super useful.
Folks, the docker runtime is open source, and not even the only one of its kind. They won’t charge for that. If they tried to make it closed source, everyone would just laugh and switch to one of several completely free alternatives. They charge for hosting images, build time on their build servers, and various “premium” developer tools you don’t need. In fact, you need none of this, you can do all of it yourself on whatever hardware you deem to be good enough. There are also many other hosted alternatives out there.
Docker thinks they have a monopoly, for some reason. If you use the technology, you are probably already aware that they don’t.
Does that include running Windows containers? It seems like the alternatives don’t support those.
Windows container runtime is free as well, simply install the docker runtime from chocolatey or winget along with the Windows Containers and Hyper-V windows features. This is what we do on some build machines for CI.
Theres no reason to use desktop other than “ease of use”
There are some reasons. Networking can get messed up, so Docker Desktop “fixed that” for you, but the dirty secret is it’s basically a Linux VM with Docker CE and some convenience network routes.
Youre talking about Linux containers on Windows, I think commenter above was referring to windows containers on Windows, which is its own special hell for lucky folks like me.
Otherwise I totally agree. Ive done both setups without docker desktop.
Does anybody actually use that feature though?
There are always lost sheep in the fields.
If they tried to close source it, someone would just fork it.
Podman or Rancher Desktop
Rancher got a lot better very quickly, but I’ve never used podman and have heard mixed things about it… Might give it a whirl at some point, but I’ve been saying that to myself for years
How is the transition from docker to podman? I’m using two compose scripts and like 10 containers each. And portainer to comfortably restart stuff on the fly
I’d say about 99% is the same.
Two notable things that were different were:
- Podman config file is different which I needed to edit where containers are stored since I have a dedicated location I want to use
- The preferred method for running Nvidia GPUs in containers is CDI, which imo is much more concise than Docker’s Nvidia GPU device setup.
The second one is also documented on the CUDA Container Toolkit site, and very easy to edit a compose file to use CDI instead.
There’s also some small differences here and there like podman asking for a preferred remote source instead of defaulting to dockerhub.
from what I can gather its currently recommended to use quadlets to generate systemd units to achieve what compose was doing. podman compose is a thing but IIRC I didn’t find that was straight drop in and I had to change the syntax or formatting a bit for it to work and from the brief testing I have put in quadlets seems less hassle, but if you use a non systemd distro then I don’t know.
I can only provide my experience; it was a drop-in replacement. I have 7 services running and 3 db containers. I was able to migrate using the Podman official instructions without issue.
Are there any decent alternatives to docker hub for pushing images if I’m just a hobbyist?
Github has a container register you can use.