7 ms·
Honestly I reach for podman or `nix develop` any chance I get. What is the edge that docker provides these days?
by koe123 9mo ago
Honestly I reach for podman or `nix develop` any chance I get. What is the edge that docker provides these days?
- b40d-48b2-979e 9mo agoWhat is the edge that docker provides these days? Enterprise support and Docker Desktop makes it nearly seamless to get set up using containers. I've tried Rancher/podman/buildah and the experience introduced too much friction for me without being on a Linux system.
- koe123 9mo agoFair! I haven’t done any container related activities on Windows.
- troyvit 9mo ago> [...] without being on a Linux system. I'll add that needing to be on the "right" Linux system is another strike against Podman. Last I checked if I wasn't on a RedHat derivative I was in the wilderness.
- travisgriggs 9mo agoHuh. I tried docker. Didn’t like the odor of enshittification, and so switched to podman (desktop). I use it on macOS, and deploy on Ubuntu. It’s been smooth sailing. I found the signal to noise ratio better in Podland. As a newb to docker space, I was overwhelmed with should I swarm, should I compose, what’s this register my thing? And people are freaking about root stuff. I’m sure I still only use and understand about 10% of the pod(man) space, buts way better than how I felt in the docker space. I miss when software engineering put a high value on simplicity.
- troyvit 9mo agoYeah I was pretty hard on podman in that comment but the truth is I use it over docker wherever I can. I have a mixed environment at home but settled on RedHat for the home server and everything seems totally ok. I really like quadlets, and the ability to go rootless is a big load off my mind to be honest. I do wish they'd package it for other distros though. It would save some headaches.
- aragilar 9mo agoPodman is in Debian and has been for a while (and so will eventually propagate to all its derivatives). I would presume Arch and SUSE have it, not sure about Gentoo, what other host distros are missing?
- darkwater 9mo ago> What is the edge that docker provides these days? That you are not the average developer
- swores 9mo agoNot very clear what you mean... well you haven't actually given them an answer to their question. Are you suggesting that docker provides an (unspecified) edge to developers who are better than average? Or to those who are mediocre? Or...
- darkwater 9mo agoI mean that the average developer will follow/use what has the most traction already and in the containers space, like it or not, it's still Docker.
- szszrk 9mo agoHow do you manage your containers in podman declaratively? I tried to substitute docker-compose with Podman and Quadlets on a test server the other day, but was shocked how badly described the overall concept is. Most materials I found glimpsed through ability to run it as root/user and how different that is in configuration, and repeated the same 4-6 commands mantra. Spent a few hours on it and just... failed to run a single container. systemctl never noticed my qualdet definitions, even if podman considered my .container file registered. A bit.. frustrating, I expected smoother sailing.
- jabl 9mo agoThe podman kube support? It provides similar functionality as docker-compose, using a yaml file which is a subset of the Kubernetes pod definition syntax. Then you can just create a few line systemd unit definition, and it integrates as a normal systemd unit, with logs visible via journalctl etc.
- unitexe 9mo agoThis seems to be the way. Short of weeding through the docs, I found the "Play with Kube using Podman" talk on DevConfs YouTube channel helpful.
- szszrk 9mo agoI will be honest: that is even more confusing :) > Note: The kube commands in podman focus on simplifying the process of moving containers from podman to a Kubernetes environment and from a Kubernetes environment back to podman. I'll give it a try, but I'm starting to understand why there is so little use of podman among amateurs.
- unitexe 9mo agoPersonally, I am not interested in kubernetes, just podman for single-node use case. What the kube YAML does for this use case is provide a way to declare a multi-container application. The podman documentation pages I have found most helpful for this use case are podman-kube-generate (generate kube YAML from an already running pod), podman-kube-play (run the kube manually) and podman-systemd.unit (run the kube as a service). Edit: I should also mention that there are pod units (which don't require the use of kube YAML) but I skipped over them because they do not support podmans auto-update feature.
- pzmarzly 9mo agoDocker, or rather containerd, still has better plugin ecosystem around it. Unregistry https://github.com/psviderski/unregistry https://github.com/psviderski/unregistry, Nydus https://github.com/dragonflyoss/nydus https://github.com/dragonflyoss/nydus, all the different "snapshotters" (storage formats), or the utils for sharing NVIDIA GPUs with containers, etc. The gap with Podman is closing though, and most users don't need any of these in the first place.
- jillesvangurp 9mo ago> What is the edge that docker provides these days? hub.docker.com mainly, the centralized docker registry. A bit like Github, there are plenty of alternatives. But that's where you find most people pushing their containers. And then there is Docker Desktop which a lot of users seem to like. I switched to colima myself recently (on a mac). I think people overthink all this stuff a bit. Colima doesn't have a UI; but that's fine for me. I mainly use it to run stuff from the command line or from scripts. I wasn't using the Docker Desktop UI very much either. Colima is a simple wrapper around Lima, which is a simple wrapper around qemu or Apple's virtualization layer. The resulting vm runs a simple Linux distribution with some file mounts and network tunneling to give you a similar experience as Docker Desktop. Which does exactly the same thing in the end of course. Linux runs containers just fine. The main thing you need for containerization is a Linux kernel. People have actually hacked together docker alternatives with just bash and namespaces. I used a plain qemu vm for a while with the docker socket pointing to an ssh tunnel on my mac. Works amazingly well but it has some limitations. Colima is easier to manage. People have mentioned several of the other alternatives already. They all can work with the same command line tooling. If you need a UI, colima is probably too barebones. But otherwise, things like IDEs and other tools work (e.g. lazydocker, vs code, intellij, etc.) just fine with it. So the added value of extra UI is limited to me at least. I think the container runtime inside the vm (podman, containerd, whatever) is mostly not that relevant for developers. It's a bit of an implementation detail. As long as docker and docker compose work on the command line, I'm happy.